cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__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 -4
- cribl_control_plane/groups_sdk.py +2 -2
- cribl_control_plane/lakedatasets.py +28 -0
- cribl_control_plane/models/__init__.py +124 -5
- cribl_control_plane/models/cacheconnection.py +20 -0
- cribl_control_plane/models/configgroup.py +20 -1
- cribl_control_plane/models/configgroupcloud.py +11 -1
- cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
- cribl_control_plane/models/cribllakedataset.py +15 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
- cribl_control_plane/models/datasetmetadata.py +11 -1
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
- cribl_control_plane/models/getsummaryop.py +11 -0
- cribl_control_plane/models/groupcreaterequest.py +20 -1
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthserverstatus.py +20 -1
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +76 -17
- cribl_control_plane/models/inputazureblob.py +29 -1
- cribl_control_plane/models/inputcollection.py +20 -1
- cribl_control_plane/models/inputconfluentcloud.py +188 -1
- cribl_control_plane/models/inputcribl.py +20 -1
- cribl_control_plane/models/inputcriblhttp.py +58 -17
- cribl_control_plane/models/inputcribllakehttp.py +58 -17
- cribl_control_plane/models/inputcriblmetrics.py +20 -1
- cribl_control_plane/models/inputcribltcp.py +58 -17
- cribl_control_plane/models/inputcrowdstrike.py +47 -1
- cribl_control_plane/models/inputdatadogagent.py +58 -17
- cribl_control_plane/models/inputdatagen.py +20 -1
- cribl_control_plane/models/inputedgeprometheus.py +138 -37
- cribl_control_plane/models/inputelastic.py +108 -27
- cribl_control_plane/models/inputeventhub.py +176 -1
- cribl_control_plane/models/inputexec.py +29 -1
- cribl_control_plane/models/inputfile.py +40 -7
- cribl_control_plane/models/inputfirehose.py +58 -17
- cribl_control_plane/models/inputgooglepubsub.py +29 -1
- cribl_control_plane/models/inputgrafana.py +149 -32
- cribl_control_plane/models/inputhttp.py +58 -17
- cribl_control_plane/models/inputhttpraw.py +58 -17
- cribl_control_plane/models/inputjournalfiles.py +20 -1
- cribl_control_plane/models/inputkafka.py +182 -1
- cribl_control_plane/models/inputkinesis.py +65 -1
- cribl_control_plane/models/inputkubeevents.py +20 -1
- cribl_control_plane/models/inputkubelogs.py +29 -1
- cribl_control_plane/models/inputkubemetrics.py +29 -1
- cribl_control_plane/models/inputloki.py +67 -17
- cribl_control_plane/models/inputmetrics.py +58 -17
- cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
- cribl_control_plane/models/inputmsk.py +74 -1
- cribl_control_plane/models/inputnetflow.py +20 -1
- cribl_control_plane/models/inputoffice365mgmt.py +56 -1
- cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
- cribl_control_plane/models/inputoffice365service.py +56 -1
- cribl_control_plane/models/inputopentelemetry.py +84 -16
- cribl_control_plane/models/inputprometheus.py +131 -37
- cribl_control_plane/models/inputprometheusrw.py +67 -17
- cribl_control_plane/models/inputrawudp.py +20 -1
- cribl_control_plane/models/inputs3.py +38 -1
- cribl_control_plane/models/inputs3inventory.py +47 -1
- cribl_control_plane/models/inputsecuritylake.py +47 -1
- cribl_control_plane/models/inputsnmp.py +29 -1
- cribl_control_plane/models/inputsplunk.py +76 -17
- cribl_control_plane/models/inputsplunkhec.py +66 -16
- cribl_control_plane/models/inputsplunksearch.py +56 -1
- cribl_control_plane/models/inputsqs.py +47 -1
- cribl_control_plane/models/inputsyslog.py +113 -32
- cribl_control_plane/models/inputsystemmetrics.py +110 -9
- cribl_control_plane/models/inputsystemstate.py +29 -1
- cribl_control_plane/models/inputtcp.py +77 -17
- cribl_control_plane/models/inputtcpjson.py +67 -17
- cribl_control_plane/models/inputwef.py +65 -1
- cribl_control_plane/models/inputwindowsmetrics.py +101 -9
- cribl_control_plane/models/inputwineventlogs.py +52 -1
- cribl_control_plane/models/inputwiz.py +38 -1
- cribl_control_plane/models/inputwizwebhook.py +58 -17
- cribl_control_plane/models/inputzscalerhec.py +66 -16
- cribl_control_plane/models/jobinfo.py +10 -4
- cribl_control_plane/models/jobstatus.py +34 -3
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/masterworkerentry.py +11 -1
- cribl_control_plane/models/nodeupgradestatus.py +38 -0
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +90 -1
- cribl_control_plane/models/outputazuredataexplorer.py +430 -93
- cribl_control_plane/models/outputazureeventhub.py +267 -22
- cribl_control_plane/models/outputazurelogs.py +105 -22
- cribl_control_plane/models/outputchronicle.py +105 -22
- cribl_control_plane/models/outputclickhouse.py +141 -22
- cribl_control_plane/models/outputcloudwatch.py +96 -22
- cribl_control_plane/models/outputconfluentcloud.py +292 -23
- cribl_control_plane/models/outputcriblhttp.py +123 -22
- cribl_control_plane/models/outputcribllake.py +76 -1
- cribl_control_plane/models/outputcribltcp.py +123 -22
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
- cribl_control_plane/models/outputdatabricks.py +76 -5
- cribl_control_plane/models/outputdatadog.py +132 -22
- cribl_control_plane/models/outputdataset.py +123 -22
- cribl_control_plane/models/outputdiskspool.py +11 -1
- cribl_control_plane/models/outputdls3.py +117 -1
- cribl_control_plane/models/outputdynatracehttp.py +141 -22
- cribl_control_plane/models/outputdynatraceotlp.py +141 -22
- cribl_control_plane/models/outputelastic.py +148 -22
- cribl_control_plane/models/outputelasticcloud.py +130 -22
- cribl_control_plane/models/outputexabeam.py +47 -1
- cribl_control_plane/models/outputfilesystem.py +72 -1
- cribl_control_plane/models/outputgooglechronicle.py +148 -23
- cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
- cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
- cribl_control_plane/models/outputgooglepubsub.py +96 -22
- cribl_control_plane/models/outputgrafanacloud.py +244 -43
- cribl_control_plane/models/outputgraphite.py +96 -22
- cribl_control_plane/models/outputhoneycomb.py +105 -22
- cribl_control_plane/models/outputhumiohec.py +114 -22
- cribl_control_plane/models/outputinfluxdb.py +114 -22
- cribl_control_plane/models/outputkafka.py +283 -20
- cribl_control_plane/models/outputkinesis.py +121 -22
- cribl_control_plane/models/outputloki.py +112 -20
- cribl_control_plane/models/outputminio.py +117 -1
- cribl_control_plane/models/outputmsk.py +175 -20
- cribl_control_plane/models/outputnewrelic.py +123 -22
- cribl_control_plane/models/outputnewrelicevents.py +115 -23
- cribl_control_plane/models/outputopentelemetry.py +159 -22
- cribl_control_plane/models/outputprometheus.py +105 -22
- cribl_control_plane/models/outputring.py +29 -1
- cribl_control_plane/models/outputs3.py +117 -1
- cribl_control_plane/models/outputsecuritylake.py +85 -1
- cribl_control_plane/models/outputsentinel.py +123 -22
- cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
- cribl_control_plane/models/outputservicenow.py +150 -22
- cribl_control_plane/models/outputsignalfx.py +105 -22
- cribl_control_plane/models/outputsns.py +103 -20
- cribl_control_plane/models/outputsplunk.py +141 -22
- cribl_control_plane/models/outputsplunkhec.py +198 -22
- cribl_control_plane/models/outputsplunklb.py +170 -22
- cribl_control_plane/models/outputsqs.py +112 -20
- cribl_control_plane/models/outputstatsd.py +96 -22
- cribl_control_plane/models/outputstatsdext.py +96 -22
- cribl_control_plane/models/outputsumologic.py +105 -22
- cribl_control_plane/models/outputsyslog.py +238 -99
- cribl_control_plane/models/outputtcpjson.py +132 -22
- cribl_control_plane/models/outputwavefront.py +105 -22
- cribl_control_plane/models/outputwebhook.py +141 -22
- cribl_control_plane/models/outputxsiam.py +103 -20
- cribl_control_plane/models/resourcepolicy.py +11 -0
- cribl_control_plane/models/runnablejobcollection.py +68 -9
- cribl_control_plane/models/runnablejobexecutor.py +32 -9
- cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
- cribl_control_plane/sdk.py +2 -2
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
|
@@ -1,11 +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
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -15,6 +16,96 @@ class OutputSplunkHecType(str, Enum):
|
|
|
15
16
|
SPLUNK_HEC = "splunk_hec"
|
|
16
17
|
|
|
17
18
|
|
|
19
|
+
class OutputSplunkHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
+
TL_SV1 = "TLSv1"
|
|
21
|
+
TL_SV1_1 = "TLSv1.1"
|
|
22
|
+
TL_SV1_2 = "TLSv1.2"
|
|
23
|
+
TL_SV1_3 = "TLSv1.3"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class OutputSplunkHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
|
+
TL_SV1 = "TLSv1"
|
|
28
|
+
TL_SV1_1 = "TLSv1.1"
|
|
29
|
+
TL_SV1_2 = "TLSv1.2"
|
|
30
|
+
TL_SV1_3 = "TLSv1.3"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class OutputSplunkHecTLSSettingsClientSideTypedDict(TypedDict):
|
|
34
|
+
disabled: NotRequired[bool]
|
|
35
|
+
servername: NotRequired[str]
|
|
36
|
+
r"""Server name for the SNI (Server Name Indication) TLS extension. It must be a host name, and not an IP address."""
|
|
37
|
+
certificate_name: NotRequired[str]
|
|
38
|
+
r"""The name of the predefined certificate"""
|
|
39
|
+
ca_path: NotRequired[str]
|
|
40
|
+
r"""Path on client in which to find CA certificates to verify the server's cert. PEM format. Can reference $ENV_VARS."""
|
|
41
|
+
priv_key_path: NotRequired[str]
|
|
42
|
+
r"""Path on client in which to find the private key to use. PEM format. Can reference $ENV_VARS."""
|
|
43
|
+
cert_path: NotRequired[str]
|
|
44
|
+
r"""Path on client in which to find certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
45
|
+
passphrase: NotRequired[str]
|
|
46
|
+
r"""Passphrase to use to decrypt private key"""
|
|
47
|
+
min_version: NotRequired[OutputSplunkHecMinimumTLSVersion]
|
|
48
|
+
max_version: NotRequired[OutputSplunkHecMaximumTLSVersion]
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class OutputSplunkHecTLSSettingsClientSide(BaseModel):
|
|
52
|
+
disabled: Optional[bool] = True
|
|
53
|
+
|
|
54
|
+
servername: Optional[str] = None
|
|
55
|
+
r"""Server name for the SNI (Server Name Indication) TLS extension. It must be a host name, and not an IP address."""
|
|
56
|
+
|
|
57
|
+
certificate_name: Annotated[
|
|
58
|
+
Optional[str], pydantic.Field(alias="certificateName")
|
|
59
|
+
] = None
|
|
60
|
+
r"""The name of the predefined certificate"""
|
|
61
|
+
|
|
62
|
+
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
63
|
+
r"""Path on client in which to find CA certificates to verify the server's cert. PEM format. Can reference $ENV_VARS."""
|
|
64
|
+
|
|
65
|
+
priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
|
|
66
|
+
r"""Path on client in which to find the private key to use. PEM format. Can reference $ENV_VARS."""
|
|
67
|
+
|
|
68
|
+
cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
|
|
69
|
+
r"""Path on client in which to find certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
70
|
+
|
|
71
|
+
passphrase: Optional[str] = None
|
|
72
|
+
r"""Passphrase to use to decrypt private key"""
|
|
73
|
+
|
|
74
|
+
min_version: Annotated[
|
|
75
|
+
Annotated[
|
|
76
|
+
Optional[OutputSplunkHecMinimumTLSVersion],
|
|
77
|
+
PlainValidator(validate_open_enum(False)),
|
|
78
|
+
],
|
|
79
|
+
pydantic.Field(alias="minVersion"),
|
|
80
|
+
] = None
|
|
81
|
+
|
|
82
|
+
max_version: Annotated[
|
|
83
|
+
Annotated[
|
|
84
|
+
Optional[OutputSplunkHecMaximumTLSVersion],
|
|
85
|
+
PlainValidator(validate_open_enum(False)),
|
|
86
|
+
],
|
|
87
|
+
pydantic.Field(alias="maxVersion"),
|
|
88
|
+
] = None
|
|
89
|
+
|
|
90
|
+
@field_serializer("min_version")
|
|
91
|
+
def serialize_min_version(self, value):
|
|
92
|
+
if isinstance(value, str):
|
|
93
|
+
try:
|
|
94
|
+
return models.OutputSplunkHecMinimumTLSVersion(value)
|
|
95
|
+
except ValueError:
|
|
96
|
+
return value
|
|
97
|
+
return value
|
|
98
|
+
|
|
99
|
+
@field_serializer("max_version")
|
|
100
|
+
def serialize_max_version(self, value):
|
|
101
|
+
if isinstance(value, str):
|
|
102
|
+
try:
|
|
103
|
+
return models.OutputSplunkHecMaximumTLSVersion(value)
|
|
104
|
+
except ValueError:
|
|
105
|
+
return value
|
|
106
|
+
return value
|
|
107
|
+
|
|
108
|
+
|
|
18
109
|
class OutputSplunkHecExtraHTTPHeaderTypedDict(TypedDict):
|
|
19
110
|
value: str
|
|
20
111
|
name: NotRequired[str]
|
|
@@ -124,6 +215,17 @@ class OutputSplunkHecURL(BaseModel):
|
|
|
124
215
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
125
216
|
|
|
126
217
|
|
|
218
|
+
class OutputSplunkHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
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."""
|
|
220
|
+
|
|
221
|
+
# Error
|
|
222
|
+
ERROR = "error"
|
|
223
|
+
# Backpressure
|
|
224
|
+
ALWAYS = "always"
|
|
225
|
+
# Always On
|
|
226
|
+
BACKPRESSURE = "backpressure"
|
|
227
|
+
|
|
228
|
+
|
|
127
229
|
class OutputSplunkHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
128
230
|
r"""Codec to use to compress the persisted data"""
|
|
129
231
|
|
|
@@ -142,17 +244,6 @@ class OutputSplunkHecQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
142
244
|
DROP = "drop"
|
|
143
245
|
|
|
144
246
|
|
|
145
|
-
class OutputSplunkHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
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."""
|
|
147
|
-
|
|
148
|
-
# Error
|
|
149
|
-
ERROR = "error"
|
|
150
|
-
# Backpressure
|
|
151
|
-
BACKPRESSURE = "backpressure"
|
|
152
|
-
# Always On
|
|
153
|
-
ALWAYS = "always"
|
|
154
|
-
|
|
155
|
-
|
|
156
247
|
class OutputSplunkHecPqControlsTypedDict(TypedDict):
|
|
157
248
|
pass
|
|
158
249
|
|
|
@@ -179,6 +270,7 @@ class OutputSplunkHecTypedDict(TypedDict):
|
|
|
179
270
|
r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing."""
|
|
180
271
|
tcp_routing: NotRequired[str]
|
|
181
272
|
r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set."""
|
|
273
|
+
tls: NotRequired[OutputSplunkHecTLSSettingsClientSideTypedDict]
|
|
182
274
|
concurrency: NotRequired[float]
|
|
183
275
|
r"""Maximum number of ongoing requests before blocking"""
|
|
184
276
|
max_payload_size_kb: NotRequired[float]
|
|
@@ -231,6 +323,16 @@ class OutputSplunkHecTypedDict(TypedDict):
|
|
|
231
323
|
r"""Splunk HEC authentication token"""
|
|
232
324
|
text_secret: NotRequired[str]
|
|
233
325
|
r"""Select or create a stored text secret"""
|
|
326
|
+
pq_strict_ordering: NotRequired[bool]
|
|
327
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
328
|
+
pq_rate_per_sec: NotRequired[float]
|
|
329
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
330
|
+
pq_mode: NotRequired[OutputSplunkHecMode]
|
|
331
|
+
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."""
|
|
332
|
+
pq_max_buffer_size: NotRequired[float]
|
|
333
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
334
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
335
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
234
336
|
pq_max_file_size: NotRequired[str]
|
|
235
337
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
236
338
|
pq_max_size: NotRequired[str]
|
|
@@ -241,8 +343,6 @@ class OutputSplunkHecTypedDict(TypedDict):
|
|
|
241
343
|
r"""Codec to use to compress the persisted data"""
|
|
242
344
|
pq_on_backpressure: NotRequired[OutputSplunkHecQueueFullBehavior]
|
|
243
345
|
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."""
|
|
244
|
-
pq_mode: NotRequired[OutputSplunkHecMode]
|
|
245
|
-
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."""
|
|
246
346
|
pq_controls: NotRequired[OutputSplunkHecPqControlsTypedDict]
|
|
247
347
|
|
|
248
348
|
|
|
@@ -281,6 +381,8 @@ class OutputSplunkHec(BaseModel):
|
|
|
281
381
|
)
|
|
282
382
|
r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set."""
|
|
283
383
|
|
|
384
|
+
tls: Optional[OutputSplunkHecTLSSettingsClientSide] = None
|
|
385
|
+
|
|
284
386
|
concurrency: Optional[float] = 5
|
|
285
387
|
r"""Maximum number of ongoing requests before blocking"""
|
|
286
388
|
|
|
@@ -403,6 +505,34 @@ class OutputSplunkHec(BaseModel):
|
|
|
403
505
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
404
506
|
r"""Select or create a stored text secret"""
|
|
405
507
|
|
|
508
|
+
pq_strict_ordering: Annotated[
|
|
509
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
510
|
+
] = True
|
|
511
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
512
|
+
|
|
513
|
+
pq_rate_per_sec: Annotated[
|
|
514
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
515
|
+
] = 0
|
|
516
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
517
|
+
|
|
518
|
+
pq_mode: Annotated[
|
|
519
|
+
Annotated[
|
|
520
|
+
Optional[OutputSplunkHecMode], PlainValidator(validate_open_enum(False))
|
|
521
|
+
],
|
|
522
|
+
pydantic.Field(alias="pqMode"),
|
|
523
|
+
] = OutputSplunkHecMode.ERROR
|
|
524
|
+
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."""
|
|
525
|
+
|
|
526
|
+
pq_max_buffer_size: Annotated[
|
|
527
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
528
|
+
] = 42
|
|
529
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
530
|
+
|
|
531
|
+
pq_max_backpressure_sec: Annotated[
|
|
532
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
533
|
+
] = 30
|
|
534
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
535
|
+
|
|
406
536
|
pq_max_file_size: Annotated[
|
|
407
537
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
408
538
|
] = "1 MB"
|
|
@@ -434,14 +564,60 @@ class OutputSplunkHec(BaseModel):
|
|
|
434
564
|
] = OutputSplunkHecQueueFullBehavior.BLOCK
|
|
435
565
|
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."""
|
|
436
566
|
|
|
437
|
-
pq_mode: Annotated[
|
|
438
|
-
Annotated[
|
|
439
|
-
Optional[OutputSplunkHecMode], PlainValidator(validate_open_enum(False))
|
|
440
|
-
],
|
|
441
|
-
pydantic.Field(alias="pqMode"),
|
|
442
|
-
] = OutputSplunkHecMode.ERROR
|
|
443
|
-
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."""
|
|
444
|
-
|
|
445
567
|
pq_controls: Annotated[
|
|
446
568
|
Optional[OutputSplunkHecPqControls], pydantic.Field(alias="pqControls")
|
|
447
569
|
] = None
|
|
570
|
+
|
|
571
|
+
@field_serializer("failed_request_logging_mode")
|
|
572
|
+
def serialize_failed_request_logging_mode(self, value):
|
|
573
|
+
if isinstance(value, str):
|
|
574
|
+
try:
|
|
575
|
+
return models.OutputSplunkHecFailedRequestLoggingMode(value)
|
|
576
|
+
except ValueError:
|
|
577
|
+
return value
|
|
578
|
+
return value
|
|
579
|
+
|
|
580
|
+
@field_serializer("auth_type")
|
|
581
|
+
def serialize_auth_type(self, value):
|
|
582
|
+
if isinstance(value, str):
|
|
583
|
+
try:
|
|
584
|
+
return models.OutputSplunkHecAuthenticationMethod(value)
|
|
585
|
+
except ValueError:
|
|
586
|
+
return value
|
|
587
|
+
return value
|
|
588
|
+
|
|
589
|
+
@field_serializer("on_backpressure")
|
|
590
|
+
def serialize_on_backpressure(self, value):
|
|
591
|
+
if isinstance(value, str):
|
|
592
|
+
try:
|
|
593
|
+
return models.OutputSplunkHecBackpressureBehavior(value)
|
|
594
|
+
except ValueError:
|
|
595
|
+
return value
|
|
596
|
+
return value
|
|
597
|
+
|
|
598
|
+
@field_serializer("pq_mode")
|
|
599
|
+
def serialize_pq_mode(self, value):
|
|
600
|
+
if isinstance(value, str):
|
|
601
|
+
try:
|
|
602
|
+
return models.OutputSplunkHecMode(value)
|
|
603
|
+
except ValueError:
|
|
604
|
+
return value
|
|
605
|
+
return value
|
|
606
|
+
|
|
607
|
+
@field_serializer("pq_compress")
|
|
608
|
+
def serialize_pq_compress(self, value):
|
|
609
|
+
if isinstance(value, str):
|
|
610
|
+
try:
|
|
611
|
+
return models.OutputSplunkHecCompression(value)
|
|
612
|
+
except ValueError:
|
|
613
|
+
return value
|
|
614
|
+
return value
|
|
615
|
+
|
|
616
|
+
@field_serializer("pq_on_backpressure")
|
|
617
|
+
def serialize_pq_on_backpressure(self, value):
|
|
618
|
+
if isinstance(value, str):
|
|
619
|
+
try:
|
|
620
|
+
return models.OutputSplunkHecQueueFullBehavior(value)
|
|
621
|
+
except ValueError:
|
|
622
|
+
return value
|
|
623
|
+
return value
|
|
@@ -1,11 +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
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class OutputSplunkLbTLSSettingsClientSide(BaseModel):
|
|
|
106
107
|
pydantic.Field(alias="maxVersion"),
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("min_version")
|
|
111
|
+
def serialize_min_version(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.OutputSplunkLbMinimumTLSVersion(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("max_version")
|
|
120
|
+
def serialize_max_version(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.OutputSplunkLbMaximumTLSVersion(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class OutputSplunkLbMaxS2SVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""The highest S2S protocol version to advertise during handshake"""
|
|
@@ -167,6 +186,17 @@ class OutputSplunkLbAuthToken(BaseModel):
|
|
|
167
186
|
] = IndexerDiscoveryConfigsAuthTokenAuthenticationMethod.MANUAL
|
|
168
187
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
169
188
|
|
|
189
|
+
@field_serializer("auth_type")
|
|
190
|
+
def serialize_auth_type(self, value):
|
|
191
|
+
if isinstance(value, str):
|
|
192
|
+
try:
|
|
193
|
+
return models.IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
|
|
194
|
+
value
|
|
195
|
+
)
|
|
196
|
+
except ValueError:
|
|
197
|
+
return value
|
|
198
|
+
return value
|
|
199
|
+
|
|
170
200
|
|
|
171
201
|
class IndexerDiscoveryConfigsAuthenticationMethod(
|
|
172
202
|
str, Enum, metaclass=utils.OpenEnumMeta
|
|
@@ -237,6 +267,15 @@ class IndexerDiscoveryConfigs(BaseModel):
|
|
|
237
267
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
238
268
|
r"""Select or create a stored text secret"""
|
|
239
269
|
|
|
270
|
+
@field_serializer("auth_type")
|
|
271
|
+
def serialize_auth_type(self, value):
|
|
272
|
+
if isinstance(value, str):
|
|
273
|
+
try:
|
|
274
|
+
return models.IndexerDiscoveryConfigsAuthenticationMethod(value)
|
|
275
|
+
except ValueError:
|
|
276
|
+
return value
|
|
277
|
+
return value
|
|
278
|
+
|
|
240
279
|
|
|
241
280
|
class OutputSplunkLbTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
242
281
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
@@ -276,6 +315,26 @@ class OutputSplunkLbHost(BaseModel):
|
|
|
276
315
|
weight: Optional[float] = 1
|
|
277
316
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
278
317
|
|
|
318
|
+
@field_serializer("tls")
|
|
319
|
+
def serialize_tls(self, value):
|
|
320
|
+
if isinstance(value, str):
|
|
321
|
+
try:
|
|
322
|
+
return models.OutputSplunkLbTLS(value)
|
|
323
|
+
except ValueError:
|
|
324
|
+
return value
|
|
325
|
+
return value
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
329
|
+
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."""
|
|
330
|
+
|
|
331
|
+
# Error
|
|
332
|
+
ERROR = "error"
|
|
333
|
+
# Backpressure
|
|
334
|
+
ALWAYS = "always"
|
|
335
|
+
# Always On
|
|
336
|
+
BACKPRESSURE = "backpressure"
|
|
337
|
+
|
|
279
338
|
|
|
280
339
|
class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
281
340
|
r"""Codec to use to compress the persisted data"""
|
|
@@ -295,17 +354,6 @@ class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
295
354
|
DROP = "drop"
|
|
296
355
|
|
|
297
356
|
|
|
298
|
-
class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
299
|
-
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."""
|
|
300
|
-
|
|
301
|
-
# Error
|
|
302
|
-
ERROR = "error"
|
|
303
|
-
# Backpressure
|
|
304
|
-
BACKPRESSURE = "backpressure"
|
|
305
|
-
# Always On
|
|
306
|
-
ALWAYS = "always"
|
|
307
|
-
|
|
308
|
-
|
|
309
357
|
class OutputSplunkLbPqControlsTypedDict(TypedDict):
|
|
310
358
|
pass
|
|
311
359
|
|
|
@@ -368,6 +416,16 @@ class OutputSplunkLbTypedDict(TypedDict):
|
|
|
368
416
|
r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment."""
|
|
369
417
|
exclude_self: NotRequired[bool]
|
|
370
418
|
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
419
|
+
pq_strict_ordering: NotRequired[bool]
|
|
420
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
421
|
+
pq_rate_per_sec: NotRequired[float]
|
|
422
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
423
|
+
pq_mode: NotRequired[OutputSplunkLbMode]
|
|
424
|
+
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."""
|
|
425
|
+
pq_max_buffer_size: NotRequired[float]
|
|
426
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
427
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
428
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
371
429
|
pq_max_file_size: NotRequired[str]
|
|
372
430
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
373
431
|
pq_max_size: NotRequired[str]
|
|
@@ -378,8 +436,6 @@ class OutputSplunkLbTypedDict(TypedDict):
|
|
|
378
436
|
r"""Codec to use to compress the persisted data"""
|
|
379
437
|
pq_on_backpressure: NotRequired[OutputSplunkLbQueueFullBehavior]
|
|
380
438
|
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."""
|
|
381
|
-
pq_mode: NotRequired[OutputSplunkLbMode]
|
|
382
|
-
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."""
|
|
383
439
|
pq_controls: NotRequired[OutputSplunkLbPqControlsTypedDict]
|
|
384
440
|
auth_token: NotRequired[str]
|
|
385
441
|
r"""Shared secret token to use when establishing a connection to a Splunk indexer."""
|
|
@@ -523,6 +579,34 @@ class OutputSplunkLb(BaseModel):
|
|
|
523
579
|
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
524
580
|
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
525
581
|
|
|
582
|
+
pq_strict_ordering: Annotated[
|
|
583
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
584
|
+
] = True
|
|
585
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
586
|
+
|
|
587
|
+
pq_rate_per_sec: Annotated[
|
|
588
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
589
|
+
] = 0
|
|
590
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
591
|
+
|
|
592
|
+
pq_mode: Annotated[
|
|
593
|
+
Annotated[
|
|
594
|
+
Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
|
|
595
|
+
],
|
|
596
|
+
pydantic.Field(alias="pqMode"),
|
|
597
|
+
] = OutputSplunkLbMode.ERROR
|
|
598
|
+
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."""
|
|
599
|
+
|
|
600
|
+
pq_max_buffer_size: Annotated[
|
|
601
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
602
|
+
] = 42
|
|
603
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
604
|
+
|
|
605
|
+
pq_max_backpressure_sec: Annotated[
|
|
606
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
607
|
+
] = 30
|
|
608
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
609
|
+
|
|
526
610
|
pq_max_file_size: Annotated[
|
|
527
611
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
528
612
|
] = "1 MB"
|
|
@@ -554,14 +638,6 @@ class OutputSplunkLb(BaseModel):
|
|
|
554
638
|
] = OutputSplunkLbQueueFullBehavior.BLOCK
|
|
555
639
|
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."""
|
|
556
640
|
|
|
557
|
-
pq_mode: Annotated[
|
|
558
|
-
Annotated[
|
|
559
|
-
Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
|
|
560
|
-
],
|
|
561
|
-
pydantic.Field(alias="pqMode"),
|
|
562
|
-
] = OutputSplunkLbMode.ERROR
|
|
563
|
-
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."""
|
|
564
|
-
|
|
565
641
|
pq_controls: Annotated[
|
|
566
642
|
Optional[OutputSplunkLbPqControls], pydantic.Field(alias="pqControls")
|
|
567
643
|
] = None
|
|
@@ -571,3 +647,75 @@ class OutputSplunkLb(BaseModel):
|
|
|
571
647
|
|
|
572
648
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
573
649
|
r"""Select or create a stored text secret"""
|
|
650
|
+
|
|
651
|
+
@field_serializer("nested_fields")
|
|
652
|
+
def serialize_nested_fields(self, value):
|
|
653
|
+
if isinstance(value, str):
|
|
654
|
+
try:
|
|
655
|
+
return models.OutputSplunkLbNestedFieldSerialization(value)
|
|
656
|
+
except ValueError:
|
|
657
|
+
return value
|
|
658
|
+
return value
|
|
659
|
+
|
|
660
|
+
@field_serializer("max_s2_sversion")
|
|
661
|
+
def serialize_max_s2_sversion(self, value):
|
|
662
|
+
if isinstance(value, str):
|
|
663
|
+
try:
|
|
664
|
+
return models.OutputSplunkLbMaxS2SVersion(value)
|
|
665
|
+
except ValueError:
|
|
666
|
+
return value
|
|
667
|
+
return value
|
|
668
|
+
|
|
669
|
+
@field_serializer("on_backpressure")
|
|
670
|
+
def serialize_on_backpressure(self, value):
|
|
671
|
+
if isinstance(value, str):
|
|
672
|
+
try:
|
|
673
|
+
return models.OutputSplunkLbBackpressureBehavior(value)
|
|
674
|
+
except ValueError:
|
|
675
|
+
return value
|
|
676
|
+
return value
|
|
677
|
+
|
|
678
|
+
@field_serializer("auth_type")
|
|
679
|
+
def serialize_auth_type(self, value):
|
|
680
|
+
if isinstance(value, str):
|
|
681
|
+
try:
|
|
682
|
+
return models.OutputSplunkLbAuthenticationMethod(value)
|
|
683
|
+
except ValueError:
|
|
684
|
+
return value
|
|
685
|
+
return value
|
|
686
|
+
|
|
687
|
+
@field_serializer("compress")
|
|
688
|
+
def serialize_compress(self, value):
|
|
689
|
+
if isinstance(value, str):
|
|
690
|
+
try:
|
|
691
|
+
return models.OutputSplunkLbCompressCompression(value)
|
|
692
|
+
except ValueError:
|
|
693
|
+
return value
|
|
694
|
+
return value
|
|
695
|
+
|
|
696
|
+
@field_serializer("pq_mode")
|
|
697
|
+
def serialize_pq_mode(self, value):
|
|
698
|
+
if isinstance(value, str):
|
|
699
|
+
try:
|
|
700
|
+
return models.OutputSplunkLbMode(value)
|
|
701
|
+
except ValueError:
|
|
702
|
+
return value
|
|
703
|
+
return value
|
|
704
|
+
|
|
705
|
+
@field_serializer("pq_compress")
|
|
706
|
+
def serialize_pq_compress(self, value):
|
|
707
|
+
if isinstance(value, str):
|
|
708
|
+
try:
|
|
709
|
+
return models.OutputSplunkLbPqCompressCompression(value)
|
|
710
|
+
except ValueError:
|
|
711
|
+
return value
|
|
712
|
+
return value
|
|
713
|
+
|
|
714
|
+
@field_serializer("pq_on_backpressure")
|
|
715
|
+
def serialize_pq_on_backpressure(self, value):
|
|
716
|
+
if isinstance(value, str):
|
|
717
|
+
try:
|
|
718
|
+
return models.OutputSplunkLbQueueFullBehavior(value)
|
|
719
|
+
except ValueError:
|
|
720
|
+
return value
|
|
721
|
+
return value
|