cribl-control-plane 0.0.49__py3-none-any.whl → 0.1.0a1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_version.py +4 -6
- cribl_control_plane/errors/healthstatus_error.py +8 -2
- cribl_control_plane/health.py +6 -2
- cribl_control_plane/models/__init__.py +18 -3
- 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/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createversionpushop.py +5 -5
- 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/error.py +16 -0
- 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/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +7 -2
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitshowresult.py +19 -0
- 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 +32 -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 +73 -28
- cribl_control_plane/models/outputazureeventhub.py +40 -18
- cribl_control_plane/models/outputazurelogs.py +35 -12
- cribl_control_plane/models/outputclickhouse.py +55 -20
- cribl_control_plane/models/outputcloudwatch.py +29 -10
- cribl_control_plane/models/outputconfluentcloud.py +77 -32
- cribl_control_plane/models/outputcriblhttp.py +44 -16
- cribl_control_plane/models/outputcribllake.py +46 -16
- cribl_control_plane/models/outputcribltcp.py +45 -18
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
- 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 +53 -20
- cribl_control_plane/models/outputdynatraceotlp.py +55 -22
- cribl_control_plane/models/outputelastic.py +43 -18
- cribl_control_plane/models/outputelasticcloud.py +36 -12
- 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 +97 -32
- cribl_control_plane/models/outputgraphite.py +31 -14
- cribl_control_plane/models/outputhoneycomb.py +35 -12
- cribl_control_plane/models/outputhumiohec.py +43 -16
- cribl_control_plane/models/outputinfluxdb.py +42 -16
- 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 +41 -14
- cribl_control_plane/models/outputopentelemetry.py +67 -26
- cribl_control_plane/models/outputprometheus.py +35 -12
- 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 +50 -18
- cribl_control_plane/models/outputservicenow.py +60 -24
- cribl_control_plane/models/outputsignalfx.py +37 -14
- cribl_control_plane/models/outputsns.py +36 -14
- cribl_control_plane/models/outputsplunk.py +60 -24
- cribl_control_plane/models/outputsplunkhec.py +35 -12
- 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 +35 -12
- cribl_control_plane/models/outputwebhook.py +58 -22
- cribl_control_plane/models/outputxsiam.py +35 -14
- 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/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/workertypes.py +2 -1
- {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0a1.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0a1.dist-info}/RECORD +166 -163
- {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0a1.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,7 +15,7 @@ class OutputSentinelOneAiSiemType(str, Enum):
|
|
|
12
15
|
SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputSentinelOneAiSiemRegion(str, Enum):
|
|
18
|
+
class OutputSentinelOneAiSiemRegion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
|
|
17
20
|
|
|
18
21
|
US = "US"
|
|
@@ -24,7 +27,7 @@ class OutputSentinelOneAiSiemRegion(str, Enum):
|
|
|
24
27
|
CUSTOM = "Custom"
|
|
25
28
|
|
|
26
29
|
|
|
27
|
-
class AISIEMEndpointPath(str, Enum):
|
|
30
|
+
class AISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
28
31
|
r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text)."""
|
|
29
32
|
|
|
30
33
|
ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event"
|
|
@@ -42,7 +45,9 @@ class OutputSentinelOneAiSiemExtraHTTPHeader(BaseModel):
|
|
|
42
45
|
name: Optional[str] = None
|
|
43
46
|
|
|
44
47
|
|
|
45
|
-
class OutputSentinelOneAiSiemFailedRequestLoggingMode(
|
|
48
|
+
class OutputSentinelOneAiSiemFailedRequestLoggingMode(
|
|
49
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
50
|
+
):
|
|
46
51
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
47
52
|
|
|
48
53
|
PAYLOAD = "payload"
|
|
@@ -50,7 +55,9 @@ class OutputSentinelOneAiSiemFailedRequestLoggingMode(str, Enum):
|
|
|
50
55
|
NONE = "none"
|
|
51
56
|
|
|
52
57
|
|
|
53
|
-
class OutputSentinelOneAiSiemAuthenticationMethod(
|
|
58
|
+
class OutputSentinelOneAiSiemAuthenticationMethod(
|
|
59
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
60
|
+
):
|
|
54
61
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
55
62
|
|
|
56
63
|
MANUAL = "manual"
|
|
@@ -111,7 +118,9 @@ class OutputSentinelOneAiSiemTimeoutRetrySettings(BaseModel):
|
|
|
111
118
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
112
119
|
|
|
113
120
|
|
|
114
|
-
class OutputSentinelOneAiSiemBackpressureBehavior(
|
|
121
|
+
class OutputSentinelOneAiSiemBackpressureBehavior(
|
|
122
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
123
|
+
):
|
|
115
124
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
116
125
|
|
|
117
126
|
BLOCK = "block"
|
|
@@ -119,21 +128,21 @@ class OutputSentinelOneAiSiemBackpressureBehavior(str, Enum):
|
|
|
119
128
|
QUEUE = "queue"
|
|
120
129
|
|
|
121
130
|
|
|
122
|
-
class OutputSentinelOneAiSiemCompression(str, Enum):
|
|
131
|
+
class OutputSentinelOneAiSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
123
132
|
r"""Codec to use to compress the persisted data"""
|
|
124
133
|
|
|
125
134
|
NONE = "none"
|
|
126
135
|
GZIP = "gzip"
|
|
127
136
|
|
|
128
137
|
|
|
129
|
-
class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum):
|
|
138
|
+
class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
130
139
|
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."""
|
|
131
140
|
|
|
132
141
|
BLOCK = "block"
|
|
133
142
|
DROP = "drop"
|
|
134
143
|
|
|
135
144
|
|
|
136
|
-
class OutputSentinelOneAiSiemMode(str, Enum):
|
|
145
|
+
class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
137
146
|
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."""
|
|
138
147
|
|
|
139
148
|
ERROR = "error"
|
|
@@ -275,12 +284,15 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
275
284
|
streamtags: Optional[List[str]] = None
|
|
276
285
|
r"""Tags for filtering and grouping in @{product}"""
|
|
277
286
|
|
|
278
|
-
region:
|
|
287
|
+
region: Annotated[
|
|
288
|
+
Optional[OutputSentinelOneAiSiemRegion],
|
|
289
|
+
PlainValidator(validate_open_enum(False)),
|
|
290
|
+
] = OutputSentinelOneAiSiemRegion.US
|
|
279
291
|
r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
|
|
280
292
|
|
|
281
|
-
endpoint:
|
|
282
|
-
AISIEMEndpointPath
|
|
283
|
-
|
|
293
|
+
endpoint: Annotated[
|
|
294
|
+
Optional[AISIEMEndpointPath], PlainValidator(validate_open_enum(False))
|
|
295
|
+
] = AISIEMEndpointPath.ROOT_SERVICES_COLLECTOR_EVENT
|
|
284
296
|
r"""Endpoint to send events to. Use /services/collector/event for structured JSON payloads with standard HEC top-level fields. Use /services/collector/raw for unstructured log lines (plain text)."""
|
|
285
297
|
|
|
286
298
|
concurrency: Optional[float] = 5
|
|
@@ -322,7 +334,10 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
322
334
|
r"""Headers to add to all events"""
|
|
323
335
|
|
|
324
336
|
failed_request_logging_mode: Annotated[
|
|
325
|
-
|
|
337
|
+
Annotated[
|
|
338
|
+
Optional[OutputSentinelOneAiSiemFailedRequestLoggingMode],
|
|
339
|
+
PlainValidator(validate_open_enum(False)),
|
|
340
|
+
],
|
|
326
341
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
327
342
|
] = OutputSentinelOneAiSiemFailedRequestLoggingMode.NONE
|
|
328
343
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -333,7 +348,10 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
333
348
|
r"""List of headers that are safe to log in plain text"""
|
|
334
349
|
|
|
335
350
|
auth_type: Annotated[
|
|
336
|
-
|
|
351
|
+
Annotated[
|
|
352
|
+
Optional[OutputSentinelOneAiSiemAuthenticationMethod],
|
|
353
|
+
PlainValidator(validate_open_enum(False)),
|
|
354
|
+
],
|
|
337
355
|
pydantic.Field(alias="authType"),
|
|
338
356
|
] = OutputSentinelOneAiSiemAuthenticationMethod.MANUAL
|
|
339
357
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -355,7 +373,10 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
355
373
|
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."""
|
|
356
374
|
|
|
357
375
|
on_backpressure: Annotated[
|
|
358
|
-
|
|
376
|
+
Annotated[
|
|
377
|
+
Optional[OutputSentinelOneAiSiemBackpressureBehavior],
|
|
378
|
+
PlainValidator(validate_open_enum(False)),
|
|
379
|
+
],
|
|
359
380
|
pydantic.Field(alias="onBackpressure"),
|
|
360
381
|
] = OutputSentinelOneAiSiemBackpressureBehavior.BLOCK
|
|
361
382
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -451,18 +472,29 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
451
472
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
452
473
|
|
|
453
474
|
pq_compress: Annotated[
|
|
454
|
-
|
|
475
|
+
Annotated[
|
|
476
|
+
Optional[OutputSentinelOneAiSiemCompression],
|
|
477
|
+
PlainValidator(validate_open_enum(False)),
|
|
478
|
+
],
|
|
479
|
+
pydantic.Field(alias="pqCompress"),
|
|
455
480
|
] = OutputSentinelOneAiSiemCompression.NONE
|
|
456
481
|
r"""Codec to use to compress the persisted data"""
|
|
457
482
|
|
|
458
483
|
pq_on_backpressure: Annotated[
|
|
459
|
-
|
|
484
|
+
Annotated[
|
|
485
|
+
Optional[OutputSentinelOneAiSiemQueueFullBehavior],
|
|
486
|
+
PlainValidator(validate_open_enum(False)),
|
|
487
|
+
],
|
|
460
488
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
461
489
|
] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
|
|
462
490
|
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."""
|
|
463
491
|
|
|
464
492
|
pq_mode: Annotated[
|
|
465
|
-
|
|
493
|
+
Annotated[
|
|
494
|
+
Optional[OutputSentinelOneAiSiemMode],
|
|
495
|
+
PlainValidator(validate_open_enum(False)),
|
|
496
|
+
],
|
|
497
|
+
pydantic.Field(alias="pqMode"),
|
|
466
498
|
] = OutputSentinelOneAiSiemMode.ERROR
|
|
467
499
|
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."""
|
|
468
500
|
|
|
@@ -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,20 +15,20 @@ class OutputServiceNowType(str, Enum):
|
|
|
12
15
|
SERVICE_NOW = "service_now"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputServiceNowOTLPVersion(str, Enum):
|
|
18
|
+
class OutputServiceNowOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""The version of OTLP Protobuf definitions to use when structuring data to send"""
|
|
17
20
|
|
|
18
21
|
ONE_DOT_3_DOT_1 = "1.3.1"
|
|
19
22
|
|
|
20
23
|
|
|
21
|
-
class OutputServiceNowProtocol(str, Enum):
|
|
24
|
+
class OutputServiceNowProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
25
|
r"""Select a transport option for OpenTelemetry"""
|
|
23
26
|
|
|
24
27
|
GRPC = "grpc"
|
|
25
28
|
HTTP = "http"
|
|
26
29
|
|
|
27
30
|
|
|
28
|
-
class OutputServiceNowCompressCompression(str, Enum):
|
|
31
|
+
class OutputServiceNowCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
29
32
|
r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
|
|
30
33
|
|
|
31
34
|
NONE = "none"
|
|
@@ -33,7 +36,7 @@ class OutputServiceNowCompressCompression(str, Enum):
|
|
|
33
36
|
GZIP = "gzip"
|
|
34
37
|
|
|
35
38
|
|
|
36
|
-
class OutputServiceNowHTTPCompressCompression(str, Enum):
|
|
39
|
+
class OutputServiceNowHTTPCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
37
40
|
r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
|
|
38
41
|
|
|
39
42
|
NONE = "none"
|
|
@@ -51,7 +54,7 @@ class OutputServiceNowMetadatum(BaseModel):
|
|
|
51
54
|
key: Optional[str] = ""
|
|
52
55
|
|
|
53
56
|
|
|
54
|
-
class OutputServiceNowFailedRequestLoggingMode(str, Enum):
|
|
57
|
+
class OutputServiceNowFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
55
58
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
56
59
|
|
|
57
60
|
PAYLOAD = "payload"
|
|
@@ -59,7 +62,7 @@ class OutputServiceNowFailedRequestLoggingMode(str, Enum):
|
|
|
59
62
|
NONE = "none"
|
|
60
63
|
|
|
61
64
|
|
|
62
|
-
class OutputServiceNowBackpressureBehavior(str, Enum):
|
|
65
|
+
class OutputServiceNowBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
63
66
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
64
67
|
|
|
65
68
|
BLOCK = "block"
|
|
@@ -132,14 +135,14 @@ class OutputServiceNowTimeoutRetrySettings(BaseModel):
|
|
|
132
135
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
133
136
|
|
|
134
137
|
|
|
135
|
-
class OutputServiceNowMinimumTLSVersion(str, Enum):
|
|
138
|
+
class OutputServiceNowMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
136
139
|
TL_SV1 = "TLSv1"
|
|
137
140
|
TL_SV1_1 = "TLSv1.1"
|
|
138
141
|
TL_SV1_2 = "TLSv1.2"
|
|
139
142
|
TL_SV1_3 = "TLSv1.3"
|
|
140
143
|
|
|
141
144
|
|
|
142
|
-
class OutputServiceNowMaximumTLSVersion(str, Enum):
|
|
145
|
+
class OutputServiceNowMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
146
|
TL_SV1 = "TLSv1"
|
|
144
147
|
TL_SV1_1 = "TLSv1.1"
|
|
145
148
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -194,29 +197,37 @@ class OutputServiceNowTLSSettingsClientSide(BaseModel):
|
|
|
194
197
|
r"""Passphrase to use to decrypt private key"""
|
|
195
198
|
|
|
196
199
|
min_version: Annotated[
|
|
197
|
-
|
|
200
|
+
Annotated[
|
|
201
|
+
Optional[OutputServiceNowMinimumTLSVersion],
|
|
202
|
+
PlainValidator(validate_open_enum(False)),
|
|
203
|
+
],
|
|
204
|
+
pydantic.Field(alias="minVersion"),
|
|
198
205
|
] = None
|
|
199
206
|
|
|
200
207
|
max_version: Annotated[
|
|
201
|
-
|
|
208
|
+
Annotated[
|
|
209
|
+
Optional[OutputServiceNowMaximumTLSVersion],
|
|
210
|
+
PlainValidator(validate_open_enum(False)),
|
|
211
|
+
],
|
|
212
|
+
pydantic.Field(alias="maxVersion"),
|
|
202
213
|
] = None
|
|
203
214
|
|
|
204
215
|
|
|
205
|
-
class OutputServiceNowPqCompressCompression(str, Enum):
|
|
216
|
+
class OutputServiceNowPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
206
217
|
r"""Codec to use to compress the persisted data"""
|
|
207
218
|
|
|
208
219
|
NONE = "none"
|
|
209
220
|
GZIP = "gzip"
|
|
210
221
|
|
|
211
222
|
|
|
212
|
-
class OutputServiceNowQueueFullBehavior(str, Enum):
|
|
223
|
+
class OutputServiceNowQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
213
224
|
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."""
|
|
214
225
|
|
|
215
226
|
BLOCK = "block"
|
|
216
227
|
DROP = "drop"
|
|
217
228
|
|
|
218
229
|
|
|
219
|
-
class OutputServiceNowMode(str, Enum):
|
|
230
|
+
class OutputServiceNowMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
220
231
|
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."""
|
|
221
232
|
|
|
222
233
|
ERROR = "error"
|
|
@@ -349,7 +360,11 @@ class OutputServiceNow(BaseModel):
|
|
|
349
360
|
)
|
|
350
361
|
|
|
351
362
|
otlp_version: Annotated[
|
|
352
|
-
|
|
363
|
+
Annotated[
|
|
364
|
+
Optional[OutputServiceNowOTLPVersion],
|
|
365
|
+
PlainValidator(validate_open_enum(False)),
|
|
366
|
+
],
|
|
367
|
+
pydantic.Field(alias="otlpVersion"),
|
|
353
368
|
] = OutputServiceNowOTLPVersion.ONE_DOT_3_DOT_1
|
|
354
369
|
r"""The version of OTLP Protobuf definitions to use when structuring data to send"""
|
|
355
370
|
|
|
@@ -358,16 +373,22 @@ class OutputServiceNow(BaseModel):
|
|
|
358
373
|
] = 2048
|
|
359
374
|
r"""Maximum size, in KB, of the request body"""
|
|
360
375
|
|
|
361
|
-
protocol:
|
|
376
|
+
protocol: Annotated[
|
|
377
|
+
Optional[OutputServiceNowProtocol], PlainValidator(validate_open_enum(False))
|
|
378
|
+
] = OutputServiceNowProtocol.GRPC
|
|
362
379
|
r"""Select a transport option for OpenTelemetry"""
|
|
363
380
|
|
|
364
|
-
compress:
|
|
365
|
-
OutputServiceNowCompressCompression
|
|
366
|
-
|
|
381
|
+
compress: Annotated[
|
|
382
|
+
Optional[OutputServiceNowCompressCompression],
|
|
383
|
+
PlainValidator(validate_open_enum(False)),
|
|
384
|
+
] = OutputServiceNowCompressCompression.GZIP
|
|
367
385
|
r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
|
|
368
386
|
|
|
369
387
|
http_compress: Annotated[
|
|
370
|
-
|
|
388
|
+
Annotated[
|
|
389
|
+
Optional[OutputServiceNowHTTPCompressCompression],
|
|
390
|
+
PlainValidator(validate_open_enum(False)),
|
|
391
|
+
],
|
|
371
392
|
pydantic.Field(alias="httpCompress"),
|
|
372
393
|
] = OutputServiceNowHTTPCompressCompression.GZIP
|
|
373
394
|
r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
|
|
@@ -402,7 +423,10 @@ class OutputServiceNow(BaseModel):
|
|
|
402
423
|
r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit."""
|
|
403
424
|
|
|
404
425
|
failed_request_logging_mode: Annotated[
|
|
405
|
-
|
|
426
|
+
Annotated[
|
|
427
|
+
Optional[OutputServiceNowFailedRequestLoggingMode],
|
|
428
|
+
PlainValidator(validate_open_enum(False)),
|
|
429
|
+
],
|
|
406
430
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
407
431
|
] = OutputServiceNowFailedRequestLoggingMode.NONE
|
|
408
432
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -421,7 +445,10 @@ class OutputServiceNow(BaseModel):
|
|
|
421
445
|
r"""Disable to close the connection immediately after sending the outgoing request"""
|
|
422
446
|
|
|
423
447
|
on_backpressure: Annotated[
|
|
424
|
-
|
|
448
|
+
Annotated[
|
|
449
|
+
Optional[OutputServiceNowBackpressureBehavior],
|
|
450
|
+
PlainValidator(validate_open_enum(False)),
|
|
451
|
+
],
|
|
425
452
|
pydantic.Field(alias="onBackpressure"),
|
|
426
453
|
] = OutputServiceNowBackpressureBehavior.BLOCK
|
|
427
454
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -484,19 +511,28 @@ class OutputServiceNow(BaseModel):
|
|
|
484
511
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
485
512
|
|
|
486
513
|
pq_compress: Annotated[
|
|
487
|
-
|
|
514
|
+
Annotated[
|
|
515
|
+
Optional[OutputServiceNowPqCompressCompression],
|
|
516
|
+
PlainValidator(validate_open_enum(False)),
|
|
517
|
+
],
|
|
488
518
|
pydantic.Field(alias="pqCompress"),
|
|
489
519
|
] = OutputServiceNowPqCompressCompression.NONE
|
|
490
520
|
r"""Codec to use to compress the persisted data"""
|
|
491
521
|
|
|
492
522
|
pq_on_backpressure: Annotated[
|
|
493
|
-
|
|
523
|
+
Annotated[
|
|
524
|
+
Optional[OutputServiceNowQueueFullBehavior],
|
|
525
|
+
PlainValidator(validate_open_enum(False)),
|
|
526
|
+
],
|
|
494
527
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
495
528
|
] = OutputServiceNowQueueFullBehavior.BLOCK
|
|
496
529
|
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
530
|
|
|
498
531
|
pq_mode: Annotated[
|
|
499
|
-
|
|
532
|
+
Annotated[
|
|
533
|
+
Optional[OutputServiceNowMode], PlainValidator(validate_open_enum(False))
|
|
534
|
+
],
|
|
535
|
+
pydantic.Field(alias="pqMode"),
|
|
500
536
|
] = OutputServiceNowMode.ERROR
|
|
501
537
|
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
538
|
|
|
@@ -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,7 +15,7 @@ class OutputSignalfxType(str, Enum):
|
|
|
12
15
|
SIGNALFX = "signalfx"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputSignalfxAuthenticationMethod(str, Enum):
|
|
18
|
+
class OutputSignalfxAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
17
20
|
|
|
18
21
|
MANUAL = "manual"
|
|
@@ -30,7 +33,7 @@ class OutputSignalfxExtraHTTPHeader(BaseModel):
|
|
|
30
33
|
name: Optional[str] = None
|
|
31
34
|
|
|
32
35
|
|
|
33
|
-
class OutputSignalfxFailedRequestLoggingMode(str, Enum):
|
|
36
|
+
class OutputSignalfxFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
37
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
35
38
|
|
|
36
39
|
PAYLOAD = "payload"
|
|
@@ -92,7 +95,7 @@ class OutputSignalfxTimeoutRetrySettings(BaseModel):
|
|
|
92
95
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
93
96
|
|
|
94
97
|
|
|
95
|
-
class OutputSignalfxBackpressureBehavior(str, Enum):
|
|
98
|
+
class OutputSignalfxBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
96
99
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
97
100
|
|
|
98
101
|
BLOCK = "block"
|
|
@@ -100,21 +103,21 @@ class OutputSignalfxBackpressureBehavior(str, Enum):
|
|
|
100
103
|
QUEUE = "queue"
|
|
101
104
|
|
|
102
105
|
|
|
103
|
-
class OutputSignalfxCompression(str, Enum):
|
|
106
|
+
class OutputSignalfxCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
104
107
|
r"""Codec to use to compress the persisted data"""
|
|
105
108
|
|
|
106
109
|
NONE = "none"
|
|
107
110
|
GZIP = "gzip"
|
|
108
111
|
|
|
109
112
|
|
|
110
|
-
class OutputSignalfxQueueFullBehavior(str, Enum):
|
|
113
|
+
class OutputSignalfxQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
114
|
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."""
|
|
112
115
|
|
|
113
116
|
BLOCK = "block"
|
|
114
117
|
DROP = "drop"
|
|
115
118
|
|
|
116
119
|
|
|
117
|
-
class OutputSignalfxMode(str, Enum):
|
|
120
|
+
class OutputSignalfxMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
118
121
|
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."""
|
|
119
122
|
|
|
120
123
|
ERROR = "error"
|
|
@@ -221,7 +224,11 @@ class OutputSignalfx(BaseModel):
|
|
|
221
224
|
r"""Tags for filtering and grouping in @{product}"""
|
|
222
225
|
|
|
223
226
|
auth_type: Annotated[
|
|
224
|
-
|
|
227
|
+
Annotated[
|
|
228
|
+
Optional[OutputSignalfxAuthenticationMethod],
|
|
229
|
+
PlainValidator(validate_open_enum(False)),
|
|
230
|
+
],
|
|
231
|
+
pydantic.Field(alias="authType"),
|
|
225
232
|
] = OutputSignalfxAuthenticationMethod.MANUAL
|
|
226
233
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
227
234
|
|
|
@@ -272,7 +279,10 @@ class OutputSignalfx(BaseModel):
|
|
|
272
279
|
r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
|
|
273
280
|
|
|
274
281
|
failed_request_logging_mode: Annotated[
|
|
275
|
-
|
|
282
|
+
Annotated[
|
|
283
|
+
Optional[OutputSignalfxFailedRequestLoggingMode],
|
|
284
|
+
PlainValidator(validate_open_enum(False)),
|
|
285
|
+
],
|
|
276
286
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
277
287
|
] = OutputSignalfxFailedRequestLoggingMode.NONE
|
|
278
288
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -299,7 +309,10 @@ class OutputSignalfx(BaseModel):
|
|
|
299
309
|
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."""
|
|
300
310
|
|
|
301
311
|
on_backpressure: Annotated[
|
|
302
|
-
|
|
312
|
+
Annotated[
|
|
313
|
+
Optional[OutputSignalfxBackpressureBehavior],
|
|
314
|
+
PlainValidator(validate_open_enum(False)),
|
|
315
|
+
],
|
|
303
316
|
pydantic.Field(alias="onBackpressure"),
|
|
304
317
|
] = OutputSignalfxBackpressureBehavior.BLOCK
|
|
305
318
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -326,19 +339,29 @@ class OutputSignalfx(BaseModel):
|
|
|
326
339
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
327
340
|
|
|
328
341
|
pq_compress: Annotated[
|
|
329
|
-
|
|
342
|
+
Annotated[
|
|
343
|
+
Optional[OutputSignalfxCompression],
|
|
344
|
+
PlainValidator(validate_open_enum(False)),
|
|
345
|
+
],
|
|
346
|
+
pydantic.Field(alias="pqCompress"),
|
|
330
347
|
] = OutputSignalfxCompression.NONE
|
|
331
348
|
r"""Codec to use to compress the persisted data"""
|
|
332
349
|
|
|
333
350
|
pq_on_backpressure: Annotated[
|
|
334
|
-
|
|
351
|
+
Annotated[
|
|
352
|
+
Optional[OutputSignalfxQueueFullBehavior],
|
|
353
|
+
PlainValidator(validate_open_enum(False)),
|
|
354
|
+
],
|
|
335
355
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
336
356
|
] = OutputSignalfxQueueFullBehavior.BLOCK
|
|
337
357
|
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."""
|
|
338
358
|
|
|
339
|
-
pq_mode: Annotated[
|
|
340
|
-
|
|
341
|
-
|
|
359
|
+
pq_mode: Annotated[
|
|
360
|
+
Annotated[
|
|
361
|
+
Optional[OutputSignalfxMode], PlainValidator(validate_open_enum(False))
|
|
362
|
+
],
|
|
363
|
+
pydantic.Field(alias="pqMode"),
|
|
364
|
+
] = OutputSignalfxMode.ERROR
|
|
342
365
|
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."""
|
|
343
366
|
|
|
344
367
|
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,7 +15,7 @@ class OutputSnsType(str, Enum):
|
|
|
12
15
|
SNS = "sns"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputSnsAuthenticationMethod(str, Enum):
|
|
18
|
+
class OutputSnsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
17
20
|
|
|
18
21
|
AUTO = "auto"
|
|
@@ -20,14 +23,14 @@ class OutputSnsAuthenticationMethod(str, Enum):
|
|
|
20
23
|
SECRET = "secret"
|
|
21
24
|
|
|
22
25
|
|
|
23
|
-
class OutputSnsSignatureVersion(str, Enum):
|
|
26
|
+
class OutputSnsSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
24
27
|
r"""Signature version to use for signing SNS requests"""
|
|
25
28
|
|
|
26
29
|
V2 = "v2"
|
|
27
30
|
V4 = "v4"
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
class OutputSnsBackpressureBehavior(str, Enum):
|
|
33
|
+
class OutputSnsBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
34
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
32
35
|
|
|
33
36
|
BLOCK = "block"
|
|
@@ -35,21 +38,21 @@ class OutputSnsBackpressureBehavior(str, Enum):
|
|
|
35
38
|
QUEUE = "queue"
|
|
36
39
|
|
|
37
40
|
|
|
38
|
-
class OutputSnsCompression(str, Enum):
|
|
41
|
+
class OutputSnsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
39
42
|
r"""Codec to use to compress the persisted data"""
|
|
40
43
|
|
|
41
44
|
NONE = "none"
|
|
42
45
|
GZIP = "gzip"
|
|
43
46
|
|
|
44
47
|
|
|
45
|
-
class OutputSnsQueueFullBehavior(str, Enum):
|
|
48
|
+
class OutputSnsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
46
49
|
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."""
|
|
47
50
|
|
|
48
51
|
BLOCK = "block"
|
|
49
52
|
DROP = "drop"
|
|
50
53
|
|
|
51
54
|
|
|
52
|
-
class OutputSnsMode(str, Enum):
|
|
55
|
+
class OutputSnsMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
53
56
|
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."""
|
|
54
57
|
|
|
55
58
|
ERROR = "error"
|
|
@@ -155,7 +158,10 @@ class OutputSns(BaseModel):
|
|
|
155
158
|
r"""Maximum number of retries before the output returns an error. Note that not all errors are retryable. The retries use an exponential backoff policy."""
|
|
156
159
|
|
|
157
160
|
aws_authentication_method: Annotated[
|
|
158
|
-
|
|
161
|
+
Annotated[
|
|
162
|
+
Optional[OutputSnsAuthenticationMethod],
|
|
163
|
+
PlainValidator(validate_open_enum(False)),
|
|
164
|
+
],
|
|
159
165
|
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
160
166
|
] = OutputSnsAuthenticationMethod.AUTO
|
|
161
167
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
@@ -171,7 +177,11 @@ class OutputSns(BaseModel):
|
|
|
171
177
|
r"""SNS service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to SNS-compatible endpoint."""
|
|
172
178
|
|
|
173
179
|
signature_version: Annotated[
|
|
174
|
-
|
|
180
|
+
Annotated[
|
|
181
|
+
Optional[OutputSnsSignatureVersion],
|
|
182
|
+
PlainValidator(validate_open_enum(False)),
|
|
183
|
+
],
|
|
184
|
+
pydantic.Field(alias="signatureVersion"),
|
|
175
185
|
] = OutputSnsSignatureVersion.V4
|
|
176
186
|
r"""Signature version to use for signing SNS requests"""
|
|
177
187
|
|
|
@@ -206,7 +216,11 @@ class OutputSns(BaseModel):
|
|
|
206
216
|
r"""Duration of the assumed role's session, in seconds. Minimum is 900 (15 minutes), default is 3600 (1 hour), and maximum is 43200 (12 hours)."""
|
|
207
217
|
|
|
208
218
|
on_backpressure: Annotated[
|
|
209
|
-
|
|
219
|
+
Annotated[
|
|
220
|
+
Optional[OutputSnsBackpressureBehavior],
|
|
221
|
+
PlainValidator(validate_open_enum(False)),
|
|
222
|
+
],
|
|
223
|
+
pydantic.Field(alias="onBackpressure"),
|
|
210
224
|
] = OutputSnsBackpressureBehavior.BLOCK
|
|
211
225
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
212
226
|
|
|
@@ -231,18 +245,26 @@ class OutputSns(BaseModel):
|
|
|
231
245
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
232
246
|
|
|
233
247
|
pq_compress: Annotated[
|
|
234
|
-
|
|
248
|
+
Annotated[
|
|
249
|
+
Optional[OutputSnsCompression], PlainValidator(validate_open_enum(False))
|
|
250
|
+
],
|
|
251
|
+
pydantic.Field(alias="pqCompress"),
|
|
235
252
|
] = OutputSnsCompression.NONE
|
|
236
253
|
r"""Codec to use to compress the persisted data"""
|
|
237
254
|
|
|
238
255
|
pq_on_backpressure: Annotated[
|
|
239
|
-
|
|
256
|
+
Annotated[
|
|
257
|
+
Optional[OutputSnsQueueFullBehavior],
|
|
258
|
+
PlainValidator(validate_open_enum(False)),
|
|
259
|
+
],
|
|
260
|
+
pydantic.Field(alias="pqOnBackpressure"),
|
|
240
261
|
] = OutputSnsQueueFullBehavior.BLOCK
|
|
241
262
|
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."""
|
|
242
263
|
|
|
243
|
-
pq_mode: Annotated[
|
|
244
|
-
OutputSnsMode
|
|
245
|
-
|
|
264
|
+
pq_mode: Annotated[
|
|
265
|
+
Annotated[Optional[OutputSnsMode], PlainValidator(validate_open_enum(False))],
|
|
266
|
+
pydantic.Field(alias="pqMode"),
|
|
267
|
+
] = OutputSnsMode.ERROR
|
|
246
268
|
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."""
|
|
247
269
|
|
|
248
270
|
pq_controls: Annotated[
|