cribl-control-plane 0.2.1rc7__py3-none-any.whl → 0.3.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 -4
- cribl_control_plane/errors/__init__.py +5 -8
- cribl_control_plane/errors/{healthserverstatus_error.py → healthstatus_error.py} +9 -10
- cribl_control_plane/groups_sdk.py +28 -52
- cribl_control_plane/health.py +16 -22
- cribl_control_plane/models/__init__.py +54 -217
- cribl_control_plane/models/appmode.py +14 -0
- cribl_control_plane/models/authtoken.py +1 -5
- cribl_control_plane/models/cacheconnection.py +0 -20
- cribl_control_plane/models/configgroup.py +7 -55
- cribl_control_plane/models/configgroupcloud.py +1 -11
- cribl_control_plane/models/createconfiggroupbyproductop.py +5 -17
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +1 -11
- cribl_control_plane/models/cribllakedatasetupdate.py +1 -11
- cribl_control_plane/models/datasetmetadata.py +1 -11
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/distributedsummary.py +0 -6
- cribl_control_plane/models/error.py +16 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +0 -11
- cribl_control_plane/models/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +0 -11
- cribl_control_plane/models/hbcriblinfo.py +3 -24
- cribl_control_plane/models/{healthserverstatus.py → healthstatus.py} +8 -27
- cribl_control_plane/models/heartbeatmetadata.py +0 -3
- cribl_control_plane/models/input.py +78 -80
- cribl_control_plane/models/inputappscope.py +17 -80
- cribl_control_plane/models/inputazureblob.py +1 -33
- cribl_control_plane/models/inputcollection.py +1 -24
- cribl_control_plane/models/inputconfluentcloud.py +18 -195
- cribl_control_plane/models/inputcribl.py +1 -24
- cribl_control_plane/models/inputcriblhttp.py +17 -62
- cribl_control_plane/models/inputcribllakehttp.py +17 -62
- cribl_control_plane/models/inputcriblmetrics.py +1 -24
- cribl_control_plane/models/inputcribltcp.py +17 -62
- cribl_control_plane/models/inputcrowdstrike.py +1 -54
- cribl_control_plane/models/inputdatadogagent.py +17 -62
- cribl_control_plane/models/inputdatagen.py +1 -24
- cribl_control_plane/models/inputedgeprometheus.py +34 -147
- cribl_control_plane/models/inputelastic.py +27 -119
- cribl_control_plane/models/inputeventhub.py +1 -182
- cribl_control_plane/models/inputexec.py +1 -33
- cribl_control_plane/models/inputfile.py +3 -42
- cribl_control_plane/models/inputfirehose.py +17 -62
- cribl_control_plane/models/inputgooglepubsub.py +1 -36
- cribl_control_plane/models/inputgrafana.py +32 -157
- cribl_control_plane/models/inputhttp.py +17 -62
- cribl_control_plane/models/inputhttpraw.py +17 -62
- cribl_control_plane/models/inputjournalfiles.py +1 -24
- cribl_control_plane/models/inputkafka.py +17 -189
- cribl_control_plane/models/inputkinesis.py +1 -80
- cribl_control_plane/models/inputkubeevents.py +1 -24
- cribl_control_plane/models/inputkubelogs.py +1 -33
- cribl_control_plane/models/inputkubemetrics.py +1 -33
- cribl_control_plane/models/inputloki.py +17 -71
- cribl_control_plane/models/inputmetrics.py +17 -62
- cribl_control_plane/models/inputmodeldriventelemetry.py +17 -62
- cribl_control_plane/models/inputmsk.py +18 -81
- cribl_control_plane/models/inputnetflow.py +1 -24
- cribl_control_plane/models/inputoffice365mgmt.py +1 -67
- cribl_control_plane/models/inputoffice365msgtrace.py +1 -67
- cribl_control_plane/models/inputoffice365service.py +1 -67
- cribl_control_plane/models/inputopentelemetry.py +16 -92
- cribl_control_plane/models/inputprometheus.py +34 -138
- cribl_control_plane/models/inputprometheusrw.py +17 -71
- cribl_control_plane/models/inputrawudp.py +1 -24
- cribl_control_plane/models/inputs3.py +1 -45
- cribl_control_plane/models/inputs3inventory.py +1 -54
- cribl_control_plane/models/inputsecuritylake.py +1 -54
- cribl_control_plane/models/inputsnmp.py +1 -40
- cribl_control_plane/models/inputsplunk.py +17 -85
- cribl_control_plane/models/inputsplunkhec.py +16 -70
- cribl_control_plane/models/inputsplunksearch.py +1 -63
- cribl_control_plane/models/inputsqs.py +1 -56
- cribl_control_plane/models/inputsyslog.py +32 -121
- cribl_control_plane/models/inputsystemmetrics.py +9 -142
- cribl_control_plane/models/inputsystemstate.py +1 -33
- cribl_control_plane/models/inputtcp.py +17 -81
- cribl_control_plane/models/inputtcpjson.py +17 -71
- cribl_control_plane/models/inputwef.py +1 -71
- cribl_control_plane/models/inputwindowsmetrics.py +9 -129
- cribl_control_plane/models/inputwineventlogs.py +1 -60
- cribl_control_plane/models/inputwiz.py +1 -45
- cribl_control_plane/models/inputwizwebhook.py +17 -62
- cribl_control_plane/models/inputzscalerhec.py +16 -70
- cribl_control_plane/models/jobinfo.py +1 -4
- cribl_control_plane/models/jobstatus.py +3 -34
- cribl_control_plane/models/listconfiggroupbyproductop.py +0 -11
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +1 -11
- cribl_control_plane/models/nodeprovidedinfo.py +1 -11
- cribl_control_plane/models/nodeupgradestatus.py +0 -38
- cribl_control_plane/models/output.py +88 -93
- cribl_control_plane/models/outputazureblob.py +1 -110
- cribl_control_plane/models/outputazuredataexplorer.py +87 -452
- cribl_control_plane/models/outputazureeventhub.py +19 -281
- cribl_control_plane/models/outputazurelogs.py +19 -115
- cribl_control_plane/models/outputchronicle.py +19 -115
- cribl_control_plane/models/outputclickhouse.py +19 -155
- cribl_control_plane/models/outputcloudwatch.py +19 -106
- cribl_control_plane/models/outputconfluentcloud.py +38 -311
- cribl_control_plane/models/outputcriblhttp.py +19 -135
- cribl_control_plane/models/outputcribllake.py +1 -97
- cribl_control_plane/models/outputcribltcp.py +19 -132
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +20 -129
- cribl_control_plane/models/outputdatadog.py +19 -159
- cribl_control_plane/models/outputdataset.py +19 -143
- cribl_control_plane/models/outputdiskspool.py +1 -11
- cribl_control_plane/models/outputdls3.py +1 -152
- cribl_control_plane/models/outputdynatracehttp.py +19 -160
- cribl_control_plane/models/outputdynatraceotlp.py +19 -160
- cribl_control_plane/models/outputelastic.py +19 -163
- cribl_control_plane/models/outputelasticcloud.py +19 -140
- cribl_control_plane/models/outputexabeam.py +1 -61
- cribl_control_plane/models/outputfilesystem.py +1 -87
- cribl_control_plane/models/outputgooglechronicle.py +20 -166
- cribl_control_plane/models/outputgooglecloudlogging.py +20 -131
- cribl_control_plane/models/outputgooglecloudstorage.py +1 -136
- cribl_control_plane/models/outputgooglepubsub.py +19 -106
- cribl_control_plane/models/outputgrafanacloud.py +37 -288
- cribl_control_plane/models/outputgraphite.py +19 -105
- cribl_control_plane/models/outputhoneycomb.py +19 -115
- cribl_control_plane/models/outputhumiohec.py +19 -126
- cribl_control_plane/models/outputinfluxdb.py +19 -130
- cribl_control_plane/models/outputkafka.py +34 -302
- cribl_control_plane/models/outputkinesis.py +19 -133
- cribl_control_plane/models/outputloki.py +17 -129
- cribl_control_plane/models/outputminio.py +1 -145
- cribl_control_plane/models/outputmsk.py +34 -193
- cribl_control_plane/models/outputnewrelic.py +19 -136
- cribl_control_plane/models/outputnewrelicevents.py +20 -128
- cribl_control_plane/models/outputopentelemetry.py +19 -178
- cribl_control_plane/models/outputprometheus.py +19 -115
- cribl_control_plane/models/outputring.py +1 -31
- cribl_control_plane/models/outputs3.py +1 -152
- cribl_control_plane/models/outputsecuritylake.py +1 -114
- cribl_control_plane/models/outputsentinel.py +19 -135
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -134
- cribl_control_plane/models/outputservicenow.py +19 -168
- cribl_control_plane/models/outputsignalfx.py +19 -115
- cribl_control_plane/models/outputsns.py +17 -113
- cribl_control_plane/models/outputsplunk.py +19 -153
- cribl_control_plane/models/outputsplunkhec.py +19 -208
- cribl_control_plane/models/outputsplunklb.py +19 -182
- cribl_control_plane/models/outputsqs.py +17 -124
- cribl_control_plane/models/outputstatsd.py +19 -105
- cribl_control_plane/models/outputstatsdext.py +19 -105
- cribl_control_plane/models/outputsumologic.py +19 -117
- cribl_control_plane/models/outputsyslog.py +96 -259
- cribl_control_plane/models/outputtcpjson.py +19 -141
- cribl_control_plane/models/outputwavefront.py +19 -115
- cribl_control_plane/models/outputwebhook.py +19 -161
- cribl_control_plane/models/outputxsiam.py +17 -113
- cribl_control_plane/models/packinfo.py +5 -8
- cribl_control_plane/models/packinstallinfo.py +5 -8
- cribl_control_plane/models/resourcepolicy.py +0 -11
- cribl_control_plane/models/{uploadpackresponse.py → routecloneconf.py} +4 -4
- cribl_control_plane/models/routeconf.py +4 -3
- cribl_control_plane/models/runnablejobcollection.py +9 -72
- cribl_control_plane/models/runnablejobexecutor.py +9 -32
- cribl_control_plane/models/runnablejobscheduledsearch.py +9 -23
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +0 -11
- cribl_control_plane/packs.py +7 -202
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +15 -23
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/METADATA +9 -50
- cribl_control_plane-0.3.0a1.dist-info/RECORD +330 -0
- cribl_control_plane/models/groupcreaterequest.py +0 -171
- cribl_control_plane/models/outpostnodeinfo.py +0 -16
- cribl_control_plane/models/outputdatabricks.py +0 -482
- cribl_control_plane/models/updatepacksop.py +0 -25
- cribl_control_plane-0.2.1rc7.dist-info/RECORD +0 -331
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/WHEEL +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import 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
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -19,9 +18,7 @@ class OutputSyslogType(str, Enum):
|
|
|
19
18
|
class OutputSyslogProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
19
|
r"""The network protocol to use for sending out syslog messages"""
|
|
21
20
|
|
|
22
|
-
# TCP
|
|
23
21
|
TCP = "tcp"
|
|
24
|
-
# UDP
|
|
25
22
|
UDP = "udp"
|
|
26
23
|
|
|
27
24
|
|
|
@@ -55,90 +52,30 @@ class Facility(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
55
52
|
class OutputSyslogSeverity(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
56
53
|
r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice."""
|
|
57
54
|
|
|
58
|
-
# emergency
|
|
59
55
|
ZERO = 0
|
|
60
|
-
# alert
|
|
61
56
|
ONE = 1
|
|
62
|
-
# critical
|
|
63
57
|
TWO = 2
|
|
64
|
-
# error
|
|
65
58
|
THREE = 3
|
|
66
|
-
# warning
|
|
67
59
|
FOUR = 4
|
|
68
|
-
# notice
|
|
69
60
|
FIVE = 5
|
|
70
|
-
# info
|
|
71
61
|
SIX = 6
|
|
72
|
-
# debug
|
|
73
62
|
SEVEN = 7
|
|
74
63
|
|
|
75
64
|
|
|
76
65
|
class OutputSyslogMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
77
66
|
r"""The syslog message format depending on the receiver's support"""
|
|
78
67
|
|
|
79
|
-
# RFC3164
|
|
80
68
|
RFC3164 = "rfc3164"
|
|
81
|
-
# RFC5424
|
|
82
69
|
RFC5424 = "rfc5424"
|
|
83
70
|
|
|
84
71
|
|
|
85
72
|
class TimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
86
73
|
r"""Timestamp format to use when serializing event's time field"""
|
|
87
74
|
|
|
88
|
-
# Syslog
|
|
89
75
|
SYSLOG = "syslog"
|
|
90
|
-
# ISO8601
|
|
91
76
|
ISO8601 = "iso8601"
|
|
92
77
|
|
|
93
78
|
|
|
94
|
-
class OutputSyslogTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
95
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
96
|
-
|
|
97
|
-
INHERIT = "inherit"
|
|
98
|
-
OFF = "off"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
class OutputSyslogHostTypedDict(TypedDict):
|
|
102
|
-
host: str
|
|
103
|
-
r"""The hostname of the receiver"""
|
|
104
|
-
port: float
|
|
105
|
-
r"""The port to connect to on the provided host"""
|
|
106
|
-
tls: NotRequired[OutputSyslogTLS]
|
|
107
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
108
|
-
servername: NotRequired[str]
|
|
109
|
-
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
110
|
-
weight: NotRequired[float]
|
|
111
|
-
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
class OutputSyslogHost(BaseModel):
|
|
115
|
-
host: str
|
|
116
|
-
r"""The hostname of the receiver"""
|
|
117
|
-
|
|
118
|
-
port: float
|
|
119
|
-
r"""The port to connect to on the provided host"""
|
|
120
|
-
|
|
121
|
-
tls: Annotated[
|
|
122
|
-
Optional[OutputSyslogTLS], PlainValidator(validate_open_enum(False))
|
|
123
|
-
] = OutputSyslogTLS.INHERIT
|
|
124
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
125
|
-
|
|
126
|
-
servername: Optional[str] = None
|
|
127
|
-
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
128
|
-
|
|
129
|
-
weight: Optional[float] = 1
|
|
130
|
-
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
131
|
-
|
|
132
|
-
@field_serializer("tls")
|
|
133
|
-
def serialize_tls(self, value):
|
|
134
|
-
if isinstance(value, str):
|
|
135
|
-
try:
|
|
136
|
-
return models.OutputSyslogTLS(value)
|
|
137
|
-
except ValueError:
|
|
138
|
-
return value
|
|
139
|
-
return value
|
|
140
|
-
|
|
141
|
-
|
|
142
79
|
class OutputSyslogMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
80
|
TL_SV1 = "TLSv1"
|
|
144
81
|
TL_SV1_1 = "TLSv1.1"
|
|
@@ -221,65 +158,37 @@ class OutputSyslogTLSSettingsClientSide(BaseModel):
|
|
|
221
158
|
pydantic.Field(alias="maxVersion"),
|
|
222
159
|
] = None
|
|
223
160
|
|
|
224
|
-
@field_serializer("min_version")
|
|
225
|
-
def serialize_min_version(self, value):
|
|
226
|
-
if isinstance(value, str):
|
|
227
|
-
try:
|
|
228
|
-
return models.OutputSyslogMinimumTLSVersion(value)
|
|
229
|
-
except ValueError:
|
|
230
|
-
return value
|
|
231
|
-
return value
|
|
232
|
-
|
|
233
|
-
@field_serializer("max_version")
|
|
234
|
-
def serialize_max_version(self, value):
|
|
235
|
-
if isinstance(value, str):
|
|
236
|
-
try:
|
|
237
|
-
return models.OutputSyslogMaximumTLSVersion(value)
|
|
238
|
-
except ValueError:
|
|
239
|
-
return value
|
|
240
|
-
return value
|
|
241
|
-
|
|
242
161
|
|
|
243
162
|
class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
244
163
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
245
164
|
|
|
246
|
-
# Block
|
|
247
165
|
BLOCK = "block"
|
|
248
|
-
# Drop
|
|
249
166
|
DROP = "drop"
|
|
250
|
-
# Persistent Queue
|
|
251
167
|
QUEUE = "queue"
|
|
252
168
|
|
|
253
169
|
|
|
254
|
-
class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
255
|
-
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."""
|
|
256
|
-
|
|
257
|
-
# Error
|
|
258
|
-
ERROR = "error"
|
|
259
|
-
# Backpressure
|
|
260
|
-
ALWAYS = "always"
|
|
261
|
-
# Always On
|
|
262
|
-
BACKPRESSURE = "backpressure"
|
|
263
|
-
|
|
264
|
-
|
|
265
170
|
class OutputSyslogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
266
171
|
r"""Codec to use to compress the persisted data"""
|
|
267
172
|
|
|
268
|
-
# None
|
|
269
173
|
NONE = "none"
|
|
270
|
-
# Gzip
|
|
271
174
|
GZIP = "gzip"
|
|
272
175
|
|
|
273
176
|
|
|
274
177
|
class OutputSyslogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
275
178
|
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."""
|
|
276
179
|
|
|
277
|
-
# Block
|
|
278
180
|
BLOCK = "block"
|
|
279
|
-
# Drop new data
|
|
280
181
|
DROP = "drop"
|
|
281
182
|
|
|
282
183
|
|
|
184
|
+
class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
185
|
+
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."""
|
|
186
|
+
|
|
187
|
+
ERROR = "error"
|
|
188
|
+
BACKPRESSURE = "backpressure"
|
|
189
|
+
ALWAYS = "always"
|
|
190
|
+
|
|
191
|
+
|
|
283
192
|
class OutputSyslogPqControlsTypedDict(TypedDict):
|
|
284
193
|
pass
|
|
285
194
|
|
|
@@ -288,6 +197,43 @@ class OutputSyslogPqControls(BaseModel):
|
|
|
288
197
|
pass
|
|
289
198
|
|
|
290
199
|
|
|
200
|
+
class OutputSyslogTLS(str, Enum):
|
|
201
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
202
|
+
|
|
203
|
+
INHERIT = "inherit"
|
|
204
|
+
OFF = "off"
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
class OutputSyslogHostTypedDict(TypedDict):
|
|
208
|
+
host: str
|
|
209
|
+
r"""The hostname of the receiver"""
|
|
210
|
+
port: NotRequired[float]
|
|
211
|
+
r"""The port to connect to on the provided host"""
|
|
212
|
+
tls: NotRequired[OutputSyslogTLS]
|
|
213
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
214
|
+
servername: NotRequired[str]
|
|
215
|
+
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
216
|
+
weight: NotRequired[float]
|
|
217
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
class OutputSyslogHost(BaseModel):
|
|
221
|
+
host: str
|
|
222
|
+
r"""The hostname of the receiver"""
|
|
223
|
+
|
|
224
|
+
port: Optional[float] = 9997
|
|
225
|
+
r"""The port to connect to on the provided host"""
|
|
226
|
+
|
|
227
|
+
tls: Optional[OutputSyslogTLS] = OutputSyslogTLS.INHERIT
|
|
228
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
229
|
+
|
|
230
|
+
servername: Optional[str] = None
|
|
231
|
+
r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
|
|
232
|
+
|
|
233
|
+
weight: Optional[float] = 1
|
|
234
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
235
|
+
|
|
236
|
+
|
|
291
237
|
class OutputSyslogTypedDict(TypedDict):
|
|
292
238
|
type: OutputSyslogType
|
|
293
239
|
id: NotRequired[str]
|
|
@@ -321,20 +267,6 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
321
267
|
description: NotRequired[str]
|
|
322
268
|
load_balanced: NotRequired[bool]
|
|
323
269
|
r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS."""
|
|
324
|
-
host: NotRequired[str]
|
|
325
|
-
r"""The hostname of the receiver"""
|
|
326
|
-
port: NotRequired[float]
|
|
327
|
-
r"""The port to connect to on the provided host"""
|
|
328
|
-
exclude_self: NotRequired[bool]
|
|
329
|
-
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
330
|
-
hosts: NotRequired[List[OutputSyslogHostTypedDict]]
|
|
331
|
-
r"""Set of hosts to load-balance data to"""
|
|
332
|
-
dns_resolve_period_sec: NotRequired[float]
|
|
333
|
-
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
334
|
-
load_balance_stats_period_sec: NotRequired[float]
|
|
335
|
-
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
336
|
-
max_concurrent_senders: NotRequired[float]
|
|
337
|
-
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."""
|
|
338
270
|
connection_timeout: NotRequired[float]
|
|
339
271
|
r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
|
|
340
272
|
write_timeout: NotRequired[float]
|
|
@@ -342,20 +274,14 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
342
274
|
tls: NotRequired[OutputSyslogTLSSettingsClientSideTypedDict]
|
|
343
275
|
on_backpressure: NotRequired[OutputSyslogBackpressureBehavior]
|
|
344
276
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
277
|
+
host: NotRequired[str]
|
|
278
|
+
r"""The hostname of the receiver"""
|
|
279
|
+
port: NotRequired[float]
|
|
280
|
+
r"""The port to connect to on the provided host"""
|
|
345
281
|
max_record_size: NotRequired[float]
|
|
346
282
|
r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation."""
|
|
347
283
|
udp_dns_resolve_period_sec: NotRequired[float]
|
|
348
284
|
r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup."""
|
|
349
|
-
pq_strict_ordering: NotRequired[bool]
|
|
350
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
351
|
-
pq_rate_per_sec: NotRequired[float]
|
|
352
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
353
|
-
pq_mode: NotRequired[OutputSyslogMode]
|
|
354
|
-
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."""
|
|
355
|
-
pq_max_buffer_size: NotRequired[float]
|
|
356
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
357
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
358
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
359
285
|
pq_max_file_size: NotRequired[str]
|
|
360
286
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
361
287
|
pq_max_size: NotRequired[str]
|
|
@@ -366,7 +292,19 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
366
292
|
r"""Codec to use to compress the persisted data"""
|
|
367
293
|
pq_on_backpressure: NotRequired[OutputSyslogQueueFullBehavior]
|
|
368
294
|
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."""
|
|
295
|
+
pq_mode: NotRequired[OutputSyslogMode]
|
|
296
|
+
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."""
|
|
369
297
|
pq_controls: NotRequired[OutputSyslogPqControlsTypedDict]
|
|
298
|
+
dns_resolve_period_sec: NotRequired[float]
|
|
299
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
300
|
+
load_balance_stats_period_sec: NotRequired[float]
|
|
301
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
302
|
+
max_concurrent_senders: NotRequired[float]
|
|
303
|
+
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."""
|
|
304
|
+
exclude_self: NotRequired[bool]
|
|
305
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
306
|
+
hosts: NotRequired[List[OutputSyslogHostTypedDict]]
|
|
307
|
+
r"""Set of hosts to load-balance data to."""
|
|
370
308
|
|
|
371
309
|
|
|
372
310
|
class OutputSyslog(BaseModel):
|
|
@@ -444,33 +382,6 @@ class OutputSyslog(BaseModel):
|
|
|
444
382
|
)
|
|
445
383
|
r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS."""
|
|
446
384
|
|
|
447
|
-
host: Optional[str] = None
|
|
448
|
-
r"""The hostname of the receiver"""
|
|
449
|
-
|
|
450
|
-
port: Optional[float] = None
|
|
451
|
-
r"""The port to connect to on the provided host"""
|
|
452
|
-
|
|
453
|
-
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
454
|
-
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
455
|
-
|
|
456
|
-
hosts: Optional[List[OutputSyslogHost]] = None
|
|
457
|
-
r"""Set of hosts to load-balance data to"""
|
|
458
|
-
|
|
459
|
-
dns_resolve_period_sec: Annotated[
|
|
460
|
-
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
461
|
-
] = 600
|
|
462
|
-
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
463
|
-
|
|
464
|
-
load_balance_stats_period_sec: Annotated[
|
|
465
|
-
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
466
|
-
] = 300
|
|
467
|
-
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
468
|
-
|
|
469
|
-
max_concurrent_senders: Annotated[
|
|
470
|
-
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
471
|
-
] = 0
|
|
472
|
-
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."""
|
|
473
|
-
|
|
474
385
|
connection_timeout: Annotated[
|
|
475
386
|
Optional[float], pydantic.Field(alias="connectionTimeout")
|
|
476
387
|
] = 10000
|
|
@@ -492,6 +403,12 @@ class OutputSyslog(BaseModel):
|
|
|
492
403
|
] = OutputSyslogBackpressureBehavior.BLOCK
|
|
493
404
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
494
405
|
|
|
406
|
+
host: Optional[str] = None
|
|
407
|
+
r"""The hostname of the receiver"""
|
|
408
|
+
|
|
409
|
+
port: Optional[float] = None
|
|
410
|
+
r"""The port to connect to on the provided host"""
|
|
411
|
+
|
|
495
412
|
max_record_size: Annotated[
|
|
496
413
|
Optional[float], pydantic.Field(alias="maxRecordSize")
|
|
497
414
|
] = 1500
|
|
@@ -502,34 +419,6 @@ class OutputSyslog(BaseModel):
|
|
|
502
419
|
] = 0
|
|
503
420
|
r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup."""
|
|
504
421
|
|
|
505
|
-
pq_strict_ordering: Annotated[
|
|
506
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
507
|
-
] = True
|
|
508
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
509
|
-
|
|
510
|
-
pq_rate_per_sec: Annotated[
|
|
511
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
512
|
-
] = 0
|
|
513
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
514
|
-
|
|
515
|
-
pq_mode: Annotated[
|
|
516
|
-
Annotated[
|
|
517
|
-
Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
|
|
518
|
-
],
|
|
519
|
-
pydantic.Field(alias="pqMode"),
|
|
520
|
-
] = OutputSyslogMode.ERROR
|
|
521
|
-
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."""
|
|
522
|
-
|
|
523
|
-
pq_max_buffer_size: Annotated[
|
|
524
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
525
|
-
] = 42
|
|
526
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
527
|
-
|
|
528
|
-
pq_max_backpressure_sec: Annotated[
|
|
529
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
530
|
-
] = 30
|
|
531
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
532
|
-
|
|
533
422
|
pq_max_file_size: Annotated[
|
|
534
423
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
535
424
|
] = "1 MB"
|
|
@@ -560,87 +449,35 @@ class OutputSyslog(BaseModel):
|
|
|
560
449
|
] = OutputSyslogQueueFullBehavior.BLOCK
|
|
561
450
|
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."""
|
|
562
451
|
|
|
452
|
+
pq_mode: Annotated[
|
|
453
|
+
Annotated[
|
|
454
|
+
Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
|
|
455
|
+
],
|
|
456
|
+
pydantic.Field(alias="pqMode"),
|
|
457
|
+
] = OutputSyslogMode.ERROR
|
|
458
|
+
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."""
|
|
459
|
+
|
|
563
460
|
pq_controls: Annotated[
|
|
564
461
|
Optional[OutputSyslogPqControls], pydantic.Field(alias="pqControls")
|
|
565
462
|
] = None
|
|
566
463
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
if isinstance(value, str):
|
|
588
|
-
try:
|
|
589
|
-
return models.OutputSyslogSeverity(value)
|
|
590
|
-
except ValueError:
|
|
591
|
-
return value
|
|
592
|
-
return value
|
|
593
|
-
|
|
594
|
-
@field_serializer("message_format")
|
|
595
|
-
def serialize_message_format(self, value):
|
|
596
|
-
if isinstance(value, str):
|
|
597
|
-
try:
|
|
598
|
-
return models.OutputSyslogMessageFormat(value)
|
|
599
|
-
except ValueError:
|
|
600
|
-
return value
|
|
601
|
-
return value
|
|
602
|
-
|
|
603
|
-
@field_serializer("timestamp_format")
|
|
604
|
-
def serialize_timestamp_format(self, value):
|
|
605
|
-
if isinstance(value, str):
|
|
606
|
-
try:
|
|
607
|
-
return models.TimestampFormat(value)
|
|
608
|
-
except ValueError:
|
|
609
|
-
return value
|
|
610
|
-
return value
|
|
611
|
-
|
|
612
|
-
@field_serializer("on_backpressure")
|
|
613
|
-
def serialize_on_backpressure(self, value):
|
|
614
|
-
if isinstance(value, str):
|
|
615
|
-
try:
|
|
616
|
-
return models.OutputSyslogBackpressureBehavior(value)
|
|
617
|
-
except ValueError:
|
|
618
|
-
return value
|
|
619
|
-
return value
|
|
620
|
-
|
|
621
|
-
@field_serializer("pq_mode")
|
|
622
|
-
def serialize_pq_mode(self, value):
|
|
623
|
-
if isinstance(value, str):
|
|
624
|
-
try:
|
|
625
|
-
return models.OutputSyslogMode(value)
|
|
626
|
-
except ValueError:
|
|
627
|
-
return value
|
|
628
|
-
return value
|
|
629
|
-
|
|
630
|
-
@field_serializer("pq_compress")
|
|
631
|
-
def serialize_pq_compress(self, value):
|
|
632
|
-
if isinstance(value, str):
|
|
633
|
-
try:
|
|
634
|
-
return models.OutputSyslogCompression(value)
|
|
635
|
-
except ValueError:
|
|
636
|
-
return value
|
|
637
|
-
return value
|
|
638
|
-
|
|
639
|
-
@field_serializer("pq_on_backpressure")
|
|
640
|
-
def serialize_pq_on_backpressure(self, value):
|
|
641
|
-
if isinstance(value, str):
|
|
642
|
-
try:
|
|
643
|
-
return models.OutputSyslogQueueFullBehavior(value)
|
|
644
|
-
except ValueError:
|
|
645
|
-
return value
|
|
646
|
-
return value
|
|
464
|
+
dns_resolve_period_sec: Annotated[
|
|
465
|
+
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
466
|
+
] = 600
|
|
467
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
468
|
+
|
|
469
|
+
load_balance_stats_period_sec: Annotated[
|
|
470
|
+
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
471
|
+
] = 300
|
|
472
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
473
|
+
|
|
474
|
+
max_concurrent_senders: Annotated[
|
|
475
|
+
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
476
|
+
] = 0
|
|
477
|
+
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."""
|
|
478
|
+
|
|
479
|
+
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
480
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
481
|
+
|
|
482
|
+
hosts: Optional[List[OutputSyslogHost]] = None
|
|
483
|
+
r"""Set of hosts to load-balance data to."""
|