cribl-control-plane 0.0.44a1__py3-none-any.whl → 0.0.44a2__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 +1 -1
- 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 +5 -3
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/errors/__init__.py +15 -3
- cribl_control_plane/errors/healthstatus_error.py +8 -2
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +6 -4
- cribl_control_plane/models/__init__.py +17 -4
- cribl_control_plane/models/appmode.py +2 -1
- cribl_control_plane/models/cacheconnection.py +10 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +7 -2
- cribl_control_plane/models/configgroupcloud.py +6 -2
- cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
- cribl_control_plane/models/cribllakedataset.py +8 -2
- cribl_control_plane/models/datasetmetadata.py +8 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
- cribl_control_plane/models/getsummaryop.py +7 -2
- cribl_control_plane/models/hbcriblinfo.py +6 -1
- cribl_control_plane/models/healthstatus.py +7 -4
- cribl_control_plane/models/inputappscope.py +34 -14
- cribl_control_plane/models/inputazureblob.py +17 -6
- cribl_control_plane/models/inputcollection.py +11 -4
- cribl_control_plane/models/inputconfluentcloud.py +47 -20
- cribl_control_plane/models/inputcribl.py +11 -4
- cribl_control_plane/models/inputcriblhttp.py +23 -8
- cribl_control_plane/models/inputcribllakehttp.py +22 -10
- cribl_control_plane/models/inputcriblmetrics.py +12 -4
- cribl_control_plane/models/inputcribltcp.py +23 -8
- cribl_control_plane/models/inputcrowdstrike.py +26 -10
- cribl_control_plane/models/inputdatadogagent.py +24 -8
- cribl_control_plane/models/inputdatagen.py +11 -4
- cribl_control_plane/models/inputedgeprometheus.py +58 -24
- cribl_control_plane/models/inputelastic.py +40 -14
- cribl_control_plane/models/inputeventhub.py +15 -6
- cribl_control_plane/models/inputexec.py +14 -6
- cribl_control_plane/models/inputfile.py +15 -6
- cribl_control_plane/models/inputfirehose.py +23 -8
- cribl_control_plane/models/inputgooglepubsub.py +19 -6
- cribl_control_plane/models/inputgrafana.py +67 -24
- cribl_control_plane/models/inputhttp.py +23 -8
- cribl_control_plane/models/inputhttpraw.py +23 -8
- cribl_control_plane/models/inputjournalfiles.py +12 -4
- cribl_control_plane/models/inputkafka.py +46 -16
- cribl_control_plane/models/inputkinesis.py +38 -14
- cribl_control_plane/models/inputkubeevents.py +11 -4
- cribl_control_plane/models/inputkubelogs.py +16 -8
- cribl_control_plane/models/inputkubemetrics.py +16 -8
- cribl_control_plane/models/inputloki.py +29 -10
- cribl_control_plane/models/inputmetrics.py +23 -8
- cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
- cribl_control_plane/models/inputmsk.py +53 -18
- cribl_control_plane/models/inputnetflow.py +11 -4
- cribl_control_plane/models/inputoffice365mgmt.py +33 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
- cribl_control_plane/models/inputoffice365service.py +35 -16
- cribl_control_plane/models/inputopentelemetry.py +38 -16
- cribl_control_plane/models/inputprometheus.py +50 -18
- cribl_control_plane/models/inputprometheusrw.py +30 -10
- cribl_control_plane/models/inputrawudp.py +11 -4
- cribl_control_plane/models/inputs3.py +21 -8
- cribl_control_plane/models/inputs3inventory.py +26 -10
- cribl_control_plane/models/inputsecuritylake.py +27 -10
- cribl_control_plane/models/inputsnmp.py +16 -6
- cribl_control_plane/models/inputsplunk.py +33 -12
- cribl_control_plane/models/inputsplunkhec.py +29 -10
- cribl_control_plane/models/inputsplunksearch.py +33 -14
- cribl_control_plane/models/inputsqs.py +27 -10
- cribl_control_plane/models/inputsyslog.py +43 -16
- cribl_control_plane/models/inputsystemmetrics.py +48 -24
- cribl_control_plane/models/inputsystemstate.py +16 -8
- cribl_control_plane/models/inputtcp.py +29 -10
- cribl_control_plane/models/inputtcpjson.py +29 -10
- cribl_control_plane/models/inputwef.py +37 -14
- cribl_control_plane/models/inputwindowsmetrics.py +44 -24
- cribl_control_plane/models/inputwineventlogs.py +20 -10
- cribl_control_plane/models/inputwiz.py +21 -8
- cribl_control_plane/models/inputwizwebhook.py +23 -8
- cribl_control_plane/models/inputzscalerhec.py +29 -10
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
- cribl_control_plane/models/masterworkerentry.py +7 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +13 -5
- cribl_control_plane/models/outputazureblob.py +48 -18
- cribl_control_plane/models/outputazuredataexplorer.py +74 -29
- cribl_control_plane/models/outputazureeventhub.py +40 -18
- cribl_control_plane/models/outputazurelogs.py +36 -13
- cribl_control_plane/models/outputclickhouse.py +56 -21
- cribl_control_plane/models/outputcloudwatch.py +29 -10
- cribl_control_plane/models/outputconfluentcloud.py +77 -32
- cribl_control_plane/models/outputcriblhttp.py +46 -18
- cribl_control_plane/models/outputcribllake.py +46 -16
- cribl_control_plane/models/outputcribltcp.py +45 -18
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
- cribl_control_plane/models/outputdatadog.py +48 -20
- cribl_control_plane/models/outputdataset.py +46 -18
- cribl_control_plane/models/outputdiskspool.py +7 -2
- cribl_control_plane/models/outputdls3.py +68 -24
- cribl_control_plane/models/outputdynatracehttp.py +54 -21
- cribl_control_plane/models/outputdynatraceotlp.py +56 -23
- cribl_control_plane/models/outputelastic.py +44 -19
- cribl_control_plane/models/outputelasticcloud.py +37 -13
- cribl_control_plane/models/outputexabeam.py +29 -10
- cribl_control_plane/models/outputfilesystem.py +39 -14
- cribl_control_plane/models/outputgooglechronicle.py +50 -16
- cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
- cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
- cribl_control_plane/models/outputgooglepubsub.py +31 -10
- cribl_control_plane/models/outputgrafanacloud.py +99 -34
- cribl_control_plane/models/outputgraphite.py +31 -14
- cribl_control_plane/models/outputhoneycomb.py +36 -13
- cribl_control_plane/models/outputhumiohec.py +44 -17
- cribl_control_plane/models/outputinfluxdb.py +43 -17
- cribl_control_plane/models/outputkafka.py +74 -28
- cribl_control_plane/models/outputkinesis.py +40 -16
- cribl_control_plane/models/outputloki.py +41 -16
- cribl_control_plane/models/outputminio.py +65 -24
- cribl_control_plane/models/outputmsk.py +82 -30
- cribl_control_plane/models/outputnewrelic.py +43 -18
- cribl_control_plane/models/outputnewrelicevents.py +42 -15
- cribl_control_plane/models/outputopentelemetry.py +68 -27
- cribl_control_plane/models/outputprometheus.py +36 -13
- cribl_control_plane/models/outputring.py +19 -8
- cribl_control_plane/models/outputs3.py +68 -26
- cribl_control_plane/models/outputsecuritylake.py +52 -18
- cribl_control_plane/models/outputsentinel.py +45 -18
- cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
- cribl_control_plane/models/outputservicenow.py +61 -25
- cribl_control_plane/models/outputsignalfx.py +38 -15
- cribl_control_plane/models/outputsns.py +36 -14
- cribl_control_plane/models/outputsplunk.py +60 -24
- cribl_control_plane/models/outputsplunkhec.py +36 -13
- cribl_control_plane/models/outputsplunklb.py +77 -30
- cribl_control_plane/models/outputsqs.py +41 -16
- cribl_control_plane/models/outputstatsd.py +30 -14
- cribl_control_plane/models/outputstatsdext.py +29 -12
- cribl_control_plane/models/outputsumologic.py +35 -12
- cribl_control_plane/models/outputsyslog.py +58 -24
- cribl_control_plane/models/outputtcpjson.py +52 -20
- cribl_control_plane/models/outputwavefront.py +36 -13
- cribl_control_plane/models/outputwebhook.py +58 -22
- cribl_control_plane/models/outputxsiam.py +36 -15
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +4 -2
- cribl_control_plane/models/runnablejobcollection.py +30 -13
- cribl_control_plane/models/runnablejobexecutor.py +13 -4
- cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/sdk.py +15 -2
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
- cribl_control_plane-0.0.44a2.dist-info/RECORD +325 -0
- cribl_control_plane-0.0.44a1.dist-info/RECORD +0 -325
- {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/WHEEL +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
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 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.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,21 +15,21 @@ class OutputSplunkLbType(str, Enum):
|
|
|
12
15
|
SPLUNK_LB = "splunk_lb"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputSplunkLbNestedFieldSerialization(str, Enum):
|
|
18
|
+
class OutputSplunkLbNestedFieldSerialization(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""How to serialize nested fields into index-time fields"""
|
|
17
20
|
|
|
18
21
|
JSON = "json"
|
|
19
22
|
NONE = "none"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputSplunkLbMinimumTLSVersion(str, Enum):
|
|
25
|
+
class OutputSplunkLbMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
TL_SV1 = "TLSv1"
|
|
24
27
|
TL_SV1_1 = "TLSv1.1"
|
|
25
28
|
TL_SV1_2 = "TLSv1.2"
|
|
26
29
|
TL_SV1_3 = "TLSv1.3"
|
|
27
30
|
|
|
28
31
|
|
|
29
|
-
class OutputSplunkLbMaximumTLSVersion(str, Enum):
|
|
32
|
+
class OutputSplunkLbMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
33
|
TL_SV1 = "TLSv1"
|
|
31
34
|
TL_SV1_1 = "TLSv1.1"
|
|
32
35
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -86,22 +89,30 @@ class OutputSplunkLbTLSSettingsClientSide(BaseModel):
|
|
|
86
89
|
r"""Passphrase to use to decrypt private key"""
|
|
87
90
|
|
|
88
91
|
min_version: Annotated[
|
|
89
|
-
|
|
92
|
+
Annotated[
|
|
93
|
+
Optional[OutputSplunkLbMinimumTLSVersion],
|
|
94
|
+
PlainValidator(validate_open_enum(False)),
|
|
95
|
+
],
|
|
96
|
+
pydantic.Field(alias="minVersion"),
|
|
90
97
|
] = None
|
|
91
98
|
|
|
92
99
|
max_version: Annotated[
|
|
93
|
-
|
|
100
|
+
Annotated[
|
|
101
|
+
Optional[OutputSplunkLbMaximumTLSVersion],
|
|
102
|
+
PlainValidator(validate_open_enum(False)),
|
|
103
|
+
],
|
|
104
|
+
pydantic.Field(alias="maxVersion"),
|
|
94
105
|
] = None
|
|
95
106
|
|
|
96
107
|
|
|
97
|
-
class OutputSplunkLbMaxS2SVersion(str, Enum):
|
|
108
|
+
class OutputSplunkLbMaxS2SVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
98
109
|
r"""The highest S2S protocol version to advertise during handshake"""
|
|
99
110
|
|
|
100
111
|
V3 = "v3"
|
|
101
112
|
V4 = "v4"
|
|
102
113
|
|
|
103
114
|
|
|
104
|
-
class OutputSplunkLbBackpressureBehavior(str, Enum):
|
|
115
|
+
class OutputSplunkLbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
105
116
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
106
117
|
|
|
107
118
|
BLOCK = "block"
|
|
@@ -109,14 +120,14 @@ class OutputSplunkLbBackpressureBehavior(str, Enum):
|
|
|
109
120
|
QUEUE = "queue"
|
|
110
121
|
|
|
111
122
|
|
|
112
|
-
class OutputSplunkLbAuthenticationMethod(str, Enum):
|
|
123
|
+
class OutputSplunkLbAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
113
124
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
114
125
|
|
|
115
126
|
MANUAL = "manual"
|
|
116
127
|
SECRET = "secret"
|
|
117
128
|
|
|
118
129
|
|
|
119
|
-
class OutputSplunkLbCompressCompression(str, Enum):
|
|
130
|
+
class OutputSplunkLbCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
120
131
|
r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
|
|
121
132
|
|
|
122
133
|
DISABLED = "disabled"
|
|
@@ -124,7 +135,9 @@ class OutputSplunkLbCompressCompression(str, Enum):
|
|
|
124
135
|
ALWAYS = "always"
|
|
125
136
|
|
|
126
137
|
|
|
127
|
-
class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
138
|
+
class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
139
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
140
|
+
):
|
|
128
141
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
129
142
|
|
|
130
143
|
MANUAL = "manual"
|
|
@@ -138,13 +151,18 @@ class OutputSplunkLbAuthTokenTypedDict(TypedDict):
|
|
|
138
151
|
|
|
139
152
|
class OutputSplunkLbAuthToken(BaseModel):
|
|
140
153
|
auth_type: Annotated[
|
|
141
|
-
|
|
154
|
+
Annotated[
|
|
155
|
+
Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
|
|
156
|
+
PlainValidator(validate_open_enum(False)),
|
|
157
|
+
],
|
|
142
158
|
pydantic.Field(alias="authType"),
|
|
143
159
|
] = IndexerDiscoveryConfigsAuthTokenAuthenticationMethod.MANUAL
|
|
144
160
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
145
161
|
|
|
146
162
|
|
|
147
|
-
class IndexerDiscoveryConfigsAuthenticationMethod(
|
|
163
|
+
class IndexerDiscoveryConfigsAuthenticationMethod(
|
|
164
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
165
|
+
):
|
|
148
166
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
149
167
|
|
|
150
168
|
MANUAL = "manual"
|
|
@@ -197,7 +215,10 @@ class IndexerDiscoveryConfigs(BaseModel):
|
|
|
197
215
|
r"""Tokens required to authenticate to cluster manager for indexer discovery"""
|
|
198
216
|
|
|
199
217
|
auth_type: Annotated[
|
|
200
|
-
|
|
218
|
+
Annotated[
|
|
219
|
+
Optional[IndexerDiscoveryConfigsAuthenticationMethod],
|
|
220
|
+
PlainValidator(validate_open_enum(False)),
|
|
221
|
+
],
|
|
201
222
|
pydantic.Field(alias="authType"),
|
|
202
223
|
] = IndexerDiscoveryConfigsAuthenticationMethod.MANUAL
|
|
203
224
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -209,7 +230,7 @@ class IndexerDiscoveryConfigs(BaseModel):
|
|
|
209
230
|
r"""Select or create a stored text secret"""
|
|
210
231
|
|
|
211
232
|
|
|
212
|
-
class OutputSplunkLbTLS(str, Enum):
|
|
233
|
+
class OutputSplunkLbTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
213
234
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
214
235
|
|
|
215
236
|
INHERIT = "inherit"
|
|
@@ -236,7 +257,9 @@ class OutputSplunkLbHost(BaseModel):
|
|
|
236
257
|
port: Optional[float] = 9997
|
|
237
258
|
r"""The port to connect to on the provided host"""
|
|
238
259
|
|
|
239
|
-
tls:
|
|
260
|
+
tls: Annotated[
|
|
261
|
+
Optional[OutputSplunkLbTLS], PlainValidator(validate_open_enum(False))
|
|
262
|
+
] = OutputSplunkLbTLS.INHERIT
|
|
240
263
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
241
264
|
|
|
242
265
|
servername: Optional[str] = None
|
|
@@ -246,21 +269,21 @@ class OutputSplunkLbHost(BaseModel):
|
|
|
246
269
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
247
270
|
|
|
248
271
|
|
|
249
|
-
class OutputSplunkLbPqCompressCompression(str, Enum):
|
|
272
|
+
class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
250
273
|
r"""Codec to use to compress the persisted data"""
|
|
251
274
|
|
|
252
275
|
NONE = "none"
|
|
253
276
|
GZIP = "gzip"
|
|
254
277
|
|
|
255
278
|
|
|
256
|
-
class OutputSplunkLbQueueFullBehavior(str, Enum):
|
|
279
|
+
class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
257
280
|
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."""
|
|
258
281
|
|
|
259
282
|
BLOCK = "block"
|
|
260
283
|
DROP = "drop"
|
|
261
284
|
|
|
262
285
|
|
|
263
|
-
class OutputSplunkLbMode(str, Enum):
|
|
286
|
+
class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
264
287
|
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."""
|
|
265
288
|
|
|
266
289
|
ERROR = "error"
|
|
@@ -388,7 +411,10 @@ class OutputSplunkLb(BaseModel):
|
|
|
388
411
|
r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
|
|
389
412
|
|
|
390
413
|
nested_fields: Annotated[
|
|
391
|
-
|
|
414
|
+
Annotated[
|
|
415
|
+
Optional[OutputSplunkLbNestedFieldSerialization],
|
|
416
|
+
PlainValidator(validate_open_enum(False)),
|
|
417
|
+
],
|
|
392
418
|
pydantic.Field(alias="nestedFields"),
|
|
393
419
|
] = OutputSplunkLbNestedFieldSerialization.NONE
|
|
394
420
|
r"""How to serialize nested fields into index-time fields"""
|
|
@@ -424,12 +450,19 @@ class OutputSplunkLb(BaseModel):
|
|
|
424
450
|
r"""Use to troubleshoot issues with sending data"""
|
|
425
451
|
|
|
426
452
|
max_s2_sversion: Annotated[
|
|
427
|
-
|
|
453
|
+
Annotated[
|
|
454
|
+
Optional[OutputSplunkLbMaxS2SVersion],
|
|
455
|
+
PlainValidator(validate_open_enum(False)),
|
|
456
|
+
],
|
|
457
|
+
pydantic.Field(alias="maxS2Sversion"),
|
|
428
458
|
] = OutputSplunkLbMaxS2SVersion.V3
|
|
429
459
|
r"""The highest S2S protocol version to advertise during handshake"""
|
|
430
460
|
|
|
431
461
|
on_backpressure: Annotated[
|
|
432
|
-
|
|
462
|
+
Annotated[
|
|
463
|
+
Optional[OutputSplunkLbBackpressureBehavior],
|
|
464
|
+
PlainValidator(validate_open_enum(False)),
|
|
465
|
+
],
|
|
433
466
|
pydantic.Field(alias="onBackpressure"),
|
|
434
467
|
] = OutputSplunkLbBackpressureBehavior.BLOCK
|
|
435
468
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -445,7 +478,11 @@ class OutputSplunkLb(BaseModel):
|
|
|
445
478
|
r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute."""
|
|
446
479
|
|
|
447
480
|
auth_type: Annotated[
|
|
448
|
-
|
|
481
|
+
Annotated[
|
|
482
|
+
Optional[OutputSplunkLbAuthenticationMethod],
|
|
483
|
+
PlainValidator(validate_open_enum(False)),
|
|
484
|
+
],
|
|
485
|
+
pydantic.Field(alias="authType"),
|
|
449
486
|
] = OutputSplunkLbAuthenticationMethod.MANUAL
|
|
450
487
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
451
488
|
|
|
@@ -456,9 +493,10 @@ class OutputSplunkLb(BaseModel):
|
|
|
456
493
|
] = 1
|
|
457
494
|
r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur."""
|
|
458
495
|
|
|
459
|
-
compress:
|
|
460
|
-
OutputSplunkLbCompressCompression
|
|
461
|
-
|
|
496
|
+
compress: Annotated[
|
|
497
|
+
Optional[OutputSplunkLbCompressCompression],
|
|
498
|
+
PlainValidator(validate_open_enum(False)),
|
|
499
|
+
] = OutputSplunkLbCompressCompression.DISABLED
|
|
462
500
|
r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
|
|
463
501
|
|
|
464
502
|
indexer_discovery_configs: Annotated[
|
|
@@ -484,20 +522,29 @@ class OutputSplunkLb(BaseModel):
|
|
|
484
522
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
485
523
|
|
|
486
524
|
pq_compress: Annotated[
|
|
487
|
-
|
|
525
|
+
Annotated[
|
|
526
|
+
Optional[OutputSplunkLbPqCompressCompression],
|
|
527
|
+
PlainValidator(validate_open_enum(False)),
|
|
528
|
+
],
|
|
488
529
|
pydantic.Field(alias="pqCompress"),
|
|
489
530
|
] = OutputSplunkLbPqCompressCompression.NONE
|
|
490
531
|
r"""Codec to use to compress the persisted data"""
|
|
491
532
|
|
|
492
533
|
pq_on_backpressure: Annotated[
|
|
493
|
-
|
|
534
|
+
Annotated[
|
|
535
|
+
Optional[OutputSplunkLbQueueFullBehavior],
|
|
536
|
+
PlainValidator(validate_open_enum(False)),
|
|
537
|
+
],
|
|
494
538
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
495
539
|
] = OutputSplunkLbQueueFullBehavior.BLOCK
|
|
496
540
|
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."""
|
|
497
541
|
|
|
498
|
-
pq_mode: Annotated[
|
|
499
|
-
|
|
500
|
-
|
|
542
|
+
pq_mode: Annotated[
|
|
543
|
+
Annotated[
|
|
544
|
+
Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
|
|
545
|
+
],
|
|
546
|
+
pydantic.Field(alias="pqMode"),
|
|
547
|
+
] = OutputSplunkLbMode.ERROR
|
|
501
548
|
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."""
|
|
502
549
|
|
|
503
550
|
pq_controls: Annotated[
|
|
@@ -1,9 +1,12 @@
|
|
|
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 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.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputSqsType(str, Enum):
|
|
|
12
15
|
SQS = "sqs"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputSqsQueueType(str, Enum):
|
|
18
|
+
class OutputSqsQueueType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""The queue type used (or created). Defaults to Standard."""
|
|
17
20
|
|
|
18
21
|
STANDARD = "standard"
|
|
19
22
|
FIFO = "fifo"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputSqsAuthenticationMethod(str, Enum):
|
|
25
|
+
class OutputSqsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
24
27
|
|
|
25
28
|
AUTO = "auto"
|
|
@@ -27,14 +30,14 @@ class OutputSqsAuthenticationMethod(str, Enum):
|
|
|
27
30
|
SECRET = "secret"
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
class OutputSqsSignatureVersion(str, Enum):
|
|
33
|
+
class OutputSqsSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
34
|
r"""Signature version to use for signing SQS requests"""
|
|
32
35
|
|
|
33
36
|
V2 = "v2"
|
|
34
37
|
V4 = "v4"
|
|
35
38
|
|
|
36
39
|
|
|
37
|
-
class OutputSqsBackpressureBehavior(str, Enum):
|
|
40
|
+
class OutputSqsBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
38
41
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
39
42
|
|
|
40
43
|
BLOCK = "block"
|
|
@@ -42,21 +45,21 @@ class OutputSqsBackpressureBehavior(str, Enum):
|
|
|
42
45
|
QUEUE = "queue"
|
|
43
46
|
|
|
44
47
|
|
|
45
|
-
class OutputSqsCompression(str, Enum):
|
|
48
|
+
class OutputSqsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
46
49
|
r"""Codec to use to compress the persisted data"""
|
|
47
50
|
|
|
48
51
|
NONE = "none"
|
|
49
52
|
GZIP = "gzip"
|
|
50
53
|
|
|
51
54
|
|
|
52
|
-
class OutputSqsQueueFullBehavior(str, Enum):
|
|
55
|
+
class OutputSqsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
53
56
|
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."""
|
|
54
57
|
|
|
55
58
|
BLOCK = "block"
|
|
56
59
|
DROP = "drop"
|
|
57
60
|
|
|
58
61
|
|
|
59
|
-
class OutputSqsMode(str, Enum):
|
|
62
|
+
class OutputSqsMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
60
63
|
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."""
|
|
61
64
|
|
|
62
65
|
ERROR = "error"
|
|
@@ -168,7 +171,10 @@ class OutputSqs(BaseModel):
|
|
|
168
171
|
r"""Tags for filtering and grouping in @{product}"""
|
|
169
172
|
|
|
170
173
|
queue_type: Annotated[
|
|
171
|
-
|
|
174
|
+
Annotated[
|
|
175
|
+
Optional[OutputSqsQueueType], PlainValidator(validate_open_enum(False))
|
|
176
|
+
],
|
|
177
|
+
pydantic.Field(alias="queueType"),
|
|
172
178
|
] = OutputSqsQueueType.STANDARD
|
|
173
179
|
r"""The queue type used (or created). Defaults to Standard."""
|
|
174
180
|
|
|
@@ -186,7 +192,10 @@ class OutputSqs(BaseModel):
|
|
|
186
192
|
r"""Create queue if it does not exist."""
|
|
187
193
|
|
|
188
194
|
aws_authentication_method: Annotated[
|
|
189
|
-
|
|
195
|
+
Annotated[
|
|
196
|
+
Optional[OutputSqsAuthenticationMethod],
|
|
197
|
+
PlainValidator(validate_open_enum(False)),
|
|
198
|
+
],
|
|
190
199
|
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
191
200
|
] = OutputSqsAuthenticationMethod.AUTO
|
|
192
201
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
@@ -202,7 +211,11 @@ class OutputSqs(BaseModel):
|
|
|
202
211
|
r"""SQS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SQS-compatible endpoint."""
|
|
203
212
|
|
|
204
213
|
signature_version: Annotated[
|
|
205
|
-
|
|
214
|
+
Annotated[
|
|
215
|
+
Optional[OutputSqsSignatureVersion],
|
|
216
|
+
PlainValidator(validate_open_enum(False)),
|
|
217
|
+
],
|
|
218
|
+
pydantic.Field(alias="signatureVersion"),
|
|
206
219
|
] = OutputSqsSignatureVersion.V4
|
|
207
220
|
r"""Signature version to use for signing SQS requests"""
|
|
208
221
|
|
|
@@ -257,7 +270,11 @@ class OutputSqs(BaseModel):
|
|
|
257
270
|
r"""The maximum number of in-progress API requests before backpressure is applied."""
|
|
258
271
|
|
|
259
272
|
on_backpressure: Annotated[
|
|
260
|
-
|
|
273
|
+
Annotated[
|
|
274
|
+
Optional[OutputSqsBackpressureBehavior],
|
|
275
|
+
PlainValidator(validate_open_enum(False)),
|
|
276
|
+
],
|
|
277
|
+
pydantic.Field(alias="onBackpressure"),
|
|
261
278
|
] = OutputSqsBackpressureBehavior.BLOCK
|
|
262
279
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
263
280
|
|
|
@@ -282,18 +299,26 @@ class OutputSqs(BaseModel):
|
|
|
282
299
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
283
300
|
|
|
284
301
|
pq_compress: Annotated[
|
|
285
|
-
|
|
302
|
+
Annotated[
|
|
303
|
+
Optional[OutputSqsCompression], PlainValidator(validate_open_enum(False))
|
|
304
|
+
],
|
|
305
|
+
pydantic.Field(alias="pqCompress"),
|
|
286
306
|
] = OutputSqsCompression.NONE
|
|
287
307
|
r"""Codec to use to compress the persisted data"""
|
|
288
308
|
|
|
289
309
|
pq_on_backpressure: Annotated[
|
|
290
|
-
|
|
310
|
+
Annotated[
|
|
311
|
+
Optional[OutputSqsQueueFullBehavior],
|
|
312
|
+
PlainValidator(validate_open_enum(False)),
|
|
313
|
+
],
|
|
314
|
+
pydantic.Field(alias="pqOnBackpressure"),
|
|
291
315
|
] = OutputSqsQueueFullBehavior.BLOCK
|
|
292
316
|
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."""
|
|
293
317
|
|
|
294
|
-
pq_mode: Annotated[
|
|
295
|
-
OutputSqsMode
|
|
296
|
-
|
|
318
|
+
pq_mode: Annotated[
|
|
319
|
+
Annotated[Optional[OutputSqsMode], PlainValidator(validate_open_enum(False))],
|
|
320
|
+
pydantic.Field(alias="pqMode"),
|
|
321
|
+
] = OutputSqsMode.ERROR
|
|
297
322
|
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."""
|
|
298
323
|
|
|
299
324
|
pq_controls: Annotated[
|
|
@@ -1,9 +1,12 @@
|
|
|
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 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.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputStatsdType(str, Enum):
|
|
|
12
15
|
STATSD = "statsd"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputStatsdDestinationProtocol(str, Enum):
|
|
18
|
+
class OutputStatsdDestinationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Protocol to use when communicating with the destination."""
|
|
17
20
|
|
|
18
21
|
UDP = "udp"
|
|
19
22
|
TCP = "tcp"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputStatsdBackpressureBehavior(str, Enum):
|
|
25
|
+
class OutputStatsdBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
24
27
|
|
|
25
28
|
BLOCK = "block"
|
|
@@ -27,21 +30,21 @@ class OutputStatsdBackpressureBehavior(str, Enum):
|
|
|
27
30
|
QUEUE = "queue"
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
class OutputStatsdCompression(str, Enum):
|
|
33
|
+
class OutputStatsdCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
34
|
r"""Codec to use to compress the persisted data"""
|
|
32
35
|
|
|
33
36
|
NONE = "none"
|
|
34
37
|
GZIP = "gzip"
|
|
35
38
|
|
|
36
39
|
|
|
37
|
-
class OutputStatsdQueueFullBehavior(str, Enum):
|
|
40
|
+
class OutputStatsdQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
38
41
|
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."""
|
|
39
42
|
|
|
40
43
|
BLOCK = "block"
|
|
41
44
|
DROP = "drop"
|
|
42
45
|
|
|
43
46
|
|
|
44
|
-
class OutputStatsdMode(str, Enum):
|
|
47
|
+
class OutputStatsdMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
45
48
|
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."""
|
|
46
49
|
|
|
47
50
|
ERROR = "error"
|
|
@@ -128,9 +131,10 @@ class OutputStatsd(BaseModel):
|
|
|
128
131
|
streamtags: Optional[List[str]] = None
|
|
129
132
|
r"""Tags for filtering and grouping in @{product}"""
|
|
130
133
|
|
|
131
|
-
protocol:
|
|
132
|
-
OutputStatsdDestinationProtocol
|
|
133
|
-
|
|
134
|
+
protocol: Annotated[
|
|
135
|
+
Optional[OutputStatsdDestinationProtocol],
|
|
136
|
+
PlainValidator(validate_open_enum(False)),
|
|
137
|
+
] = OutputStatsdDestinationProtocol.UDP
|
|
134
138
|
r"""Protocol to use when communicating with the destination."""
|
|
135
139
|
|
|
136
140
|
port: Optional[float] = 8125
|
|
@@ -167,7 +171,10 @@ class OutputStatsd(BaseModel):
|
|
|
167
171
|
r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
|
|
168
172
|
|
|
169
173
|
on_backpressure: Annotated[
|
|
170
|
-
|
|
174
|
+
Annotated[
|
|
175
|
+
Optional[OutputStatsdBackpressureBehavior],
|
|
176
|
+
PlainValidator(validate_open_enum(False)),
|
|
177
|
+
],
|
|
171
178
|
pydantic.Field(alias="onBackpressure"),
|
|
172
179
|
] = OutputStatsdBackpressureBehavior.BLOCK
|
|
173
180
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -186,19 +193,28 @@ class OutputStatsd(BaseModel):
|
|
|
186
193
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
187
194
|
|
|
188
195
|
pq_compress: Annotated[
|
|
189
|
-
|
|
196
|
+
Annotated[
|
|
197
|
+
Optional[OutputStatsdCompression], PlainValidator(validate_open_enum(False))
|
|
198
|
+
],
|
|
199
|
+
pydantic.Field(alias="pqCompress"),
|
|
190
200
|
] = OutputStatsdCompression.NONE
|
|
191
201
|
r"""Codec to use to compress the persisted data"""
|
|
192
202
|
|
|
193
203
|
pq_on_backpressure: Annotated[
|
|
194
|
-
|
|
204
|
+
Annotated[
|
|
205
|
+
Optional[OutputStatsdQueueFullBehavior],
|
|
206
|
+
PlainValidator(validate_open_enum(False)),
|
|
207
|
+
],
|
|
195
208
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
196
209
|
] = OutputStatsdQueueFullBehavior.BLOCK
|
|
197
210
|
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."""
|
|
198
211
|
|
|
199
|
-
pq_mode: Annotated[
|
|
200
|
-
|
|
201
|
-
|
|
212
|
+
pq_mode: Annotated[
|
|
213
|
+
Annotated[
|
|
214
|
+
Optional[OutputStatsdMode], PlainValidator(validate_open_enum(False))
|
|
215
|
+
],
|
|
216
|
+
pydantic.Field(alias="pqMode"),
|
|
217
|
+
] = OutputStatsdMode.ERROR
|
|
202
218
|
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."""
|
|
203
219
|
|
|
204
220
|
pq_controls: Annotated[
|
|
@@ -1,9 +1,12 @@
|
|
|
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 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.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputStatsdExtType(str, Enum):
|
|
|
12
15
|
STATSD_EXT = "statsd_ext"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputStatsdExtDestinationProtocol(str, Enum):
|
|
18
|
+
class OutputStatsdExtDestinationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Protocol to use when communicating with the destination."""
|
|
17
20
|
|
|
18
21
|
UDP = "udp"
|
|
19
22
|
TCP = "tcp"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputStatsdExtBackpressureBehavior(str, Enum):
|
|
25
|
+
class OutputStatsdExtBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
24
27
|
|
|
25
28
|
BLOCK = "block"
|
|
@@ -27,21 +30,21 @@ class OutputStatsdExtBackpressureBehavior(str, Enum):
|
|
|
27
30
|
QUEUE = "queue"
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
class OutputStatsdExtCompression(str, Enum):
|
|
33
|
+
class OutputStatsdExtCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
34
|
r"""Codec to use to compress the persisted data"""
|
|
32
35
|
|
|
33
36
|
NONE = "none"
|
|
34
37
|
GZIP = "gzip"
|
|
35
38
|
|
|
36
39
|
|
|
37
|
-
class OutputStatsdExtQueueFullBehavior(str, Enum):
|
|
40
|
+
class OutputStatsdExtQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
38
41
|
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."""
|
|
39
42
|
|
|
40
43
|
BLOCK = "block"
|
|
41
44
|
DROP = "drop"
|
|
42
45
|
|
|
43
46
|
|
|
44
|
-
class OutputStatsdExtMode(str, Enum):
|
|
47
|
+
class OutputStatsdExtMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
45
48
|
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."""
|
|
46
49
|
|
|
47
50
|
ERROR = "error"
|
|
@@ -128,9 +131,10 @@ class OutputStatsdExt(BaseModel):
|
|
|
128
131
|
streamtags: Optional[List[str]] = None
|
|
129
132
|
r"""Tags for filtering and grouping in @{product}"""
|
|
130
133
|
|
|
131
|
-
protocol:
|
|
132
|
-
OutputStatsdExtDestinationProtocol
|
|
133
|
-
|
|
134
|
+
protocol: Annotated[
|
|
135
|
+
Optional[OutputStatsdExtDestinationProtocol],
|
|
136
|
+
PlainValidator(validate_open_enum(False)),
|
|
137
|
+
] = OutputStatsdExtDestinationProtocol.UDP
|
|
134
138
|
r"""Protocol to use when communicating with the destination."""
|
|
135
139
|
|
|
136
140
|
port: Optional[float] = 8125
|
|
@@ -167,7 +171,10 @@ class OutputStatsdExt(BaseModel):
|
|
|
167
171
|
r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
|
|
168
172
|
|
|
169
173
|
on_backpressure: Annotated[
|
|
170
|
-
|
|
174
|
+
Annotated[
|
|
175
|
+
Optional[OutputStatsdExtBackpressureBehavior],
|
|
176
|
+
PlainValidator(validate_open_enum(False)),
|
|
177
|
+
],
|
|
171
178
|
pydantic.Field(alias="onBackpressure"),
|
|
172
179
|
] = OutputStatsdExtBackpressureBehavior.BLOCK
|
|
173
180
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -186,18 +193,28 @@ class OutputStatsdExt(BaseModel):
|
|
|
186
193
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
187
194
|
|
|
188
195
|
pq_compress: Annotated[
|
|
189
|
-
|
|
196
|
+
Annotated[
|
|
197
|
+
Optional[OutputStatsdExtCompression],
|
|
198
|
+
PlainValidator(validate_open_enum(False)),
|
|
199
|
+
],
|
|
200
|
+
pydantic.Field(alias="pqCompress"),
|
|
190
201
|
] = OutputStatsdExtCompression.NONE
|
|
191
202
|
r"""Codec to use to compress the persisted data"""
|
|
192
203
|
|
|
193
204
|
pq_on_backpressure: Annotated[
|
|
194
|
-
|
|
205
|
+
Annotated[
|
|
206
|
+
Optional[OutputStatsdExtQueueFullBehavior],
|
|
207
|
+
PlainValidator(validate_open_enum(False)),
|
|
208
|
+
],
|
|
195
209
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
196
210
|
] = OutputStatsdExtQueueFullBehavior.BLOCK
|
|
197
211
|
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."""
|
|
198
212
|
|
|
199
213
|
pq_mode: Annotated[
|
|
200
|
-
|
|
214
|
+
Annotated[
|
|
215
|
+
Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
|
|
216
|
+
],
|
|
217
|
+
pydantic.Field(alias="pqMode"),
|
|
201
218
|
] = OutputStatsdExtMode.ERROR
|
|
202
219
|
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."""
|
|
203
220
|
|