cribl-control-plane 0.3.0b2__py3-none-any.whl → 0.3.0b4__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 +3 -3
- cribl_control_plane/errors/__init__.py +8 -5
- cribl_control_plane/errors/{healthstatus_error.py → healthserverstatus_error.py} +10 -9
- cribl_control_plane/groups_sdk.py +48 -24
- cribl_control_plane/health.py +22 -16
- cribl_control_plane/models/__init__.py +152 -29
- cribl_control_plane/models/authtoken.py +4 -7
- cribl_control_plane/models/configgroup.py +8 -7
- cribl_control_plane/models/createconfiggroupbyproductop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/groupcreaterequest.py +152 -0
- cribl_control_plane/models/{healthstatus.py → healthserverstatus.py} +7 -7
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +20 -16
- cribl_control_plane/models/inputconfluentcloud.py +110 -0
- cribl_control_plane/models/inputcriblhttp.py +20 -16
- cribl_control_plane/models/inputcribllakehttp.py +20 -16
- cribl_control_plane/models/inputcribltcp.py +20 -16
- cribl_control_plane/models/inputdatadogagent.py +20 -16
- cribl_control_plane/models/inputedgeprometheus.py +44 -36
- cribl_control_plane/models/inputelastic.py +44 -27
- cribl_control_plane/models/inputeventhub.py +118 -0
- cribl_control_plane/models/inputfile.py +7 -2
- cribl_control_plane/models/inputfirehose.py +20 -16
- cribl_control_plane/models/inputgrafana.py +39 -31
- cribl_control_plane/models/inputhttp.py +20 -16
- cribl_control_plane/models/inputhttpraw.py +20 -16
- cribl_control_plane/models/inputkafka.py +108 -0
- cribl_control_plane/models/inputloki.py +20 -16
- cribl_control_plane/models/inputmetrics.py +20 -16
- cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
- cribl_control_plane/models/inputopentelemetry.py +19 -15
- cribl_control_plane/models/inputprometheus.py +44 -36
- cribl_control_plane/models/inputprometheusrw.py +20 -16
- cribl_control_plane/models/inputsplunk.py +20 -16
- cribl_control_plane/models/inputsplunkhec.py +19 -15
- cribl_control_plane/models/inputsyslog.py +39 -31
- cribl_control_plane/models/inputsystemmetrics.py +20 -10
- cribl_control_plane/models/inputtcp.py +30 -16
- cribl_control_plane/models/inputtcpjson.py +20 -16
- cribl_control_plane/models/inputwindowsmetrics.py +20 -10
- cribl_control_plane/models/inputwineventlogs.py +14 -0
- cribl_control_plane/models/inputwizwebhook.py +20 -16
- cribl_control_plane/models/inputzscalerhec.py +19 -15
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +7 -0
- cribl_control_plane/models/outputazuredataexplorer.py +283 -93
- cribl_control_plane/models/outputazureeventhub.py +169 -21
- cribl_control_plane/models/outputazurelogs.py +49 -21
- cribl_control_plane/models/outputchronicle.py +49 -21
- cribl_control_plane/models/outputclickhouse.py +49 -21
- cribl_control_plane/models/outputcloudwatch.py +49 -21
- cribl_control_plane/models/outputconfluentcloud.py +167 -22
- cribl_control_plane/models/outputcriblhttp.py +49 -21
- cribl_control_plane/models/outputcribltcp.py +49 -21
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
- cribl_control_plane/models/outputdatabricks.py +7 -0
- cribl_control_plane/models/outputdatadog.py +49 -21
- cribl_control_plane/models/outputdataset.py +49 -21
- cribl_control_plane/models/outputdls3.py +7 -0
- cribl_control_plane/models/outputdynatracehttp.py +49 -21
- cribl_control_plane/models/outputdynatraceotlp.py +49 -21
- cribl_control_plane/models/outputelastic.py +74 -21
- cribl_control_plane/models/outputelasticcloud.py +74 -21
- cribl_control_plane/models/outputfilesystem.py +7 -0
- cribl_control_plane/models/outputgooglechronicle.py +65 -22
- cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
- cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
- cribl_control_plane/models/outputgooglepubsub.py +49 -21
- cribl_control_plane/models/outputgrafanacloud.py +98 -42
- cribl_control_plane/models/outputgraphite.py +49 -21
- cribl_control_plane/models/outputhoneycomb.py +49 -21
- cribl_control_plane/models/outputhumiohec.py +49 -21
- cribl_control_plane/models/outputinfluxdb.py +49 -21
- cribl_control_plane/models/outputkafka.py +162 -19
- cribl_control_plane/models/outputkinesis.py +56 -21
- cribl_control_plane/models/outputloki.py +47 -19
- cribl_control_plane/models/outputminio.py +7 -0
- cribl_control_plane/models/outputmsk.py +54 -19
- cribl_control_plane/models/outputnewrelic.py +49 -21
- cribl_control_plane/models/outputnewrelicevents.py +50 -22
- cribl_control_plane/models/outputopentelemetry.py +49 -21
- cribl_control_plane/models/outputprometheus.py +49 -21
- cribl_control_plane/models/outputs3.py +7 -0
- cribl_control_plane/models/outputsentinel.py +49 -21
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
- cribl_control_plane/models/outputservicenow.py +49 -21
- cribl_control_plane/models/outputsignalfx.py +49 -21
- cribl_control_plane/models/outputsns.py +47 -19
- cribl_control_plane/models/outputsplunk.py +49 -21
- cribl_control_plane/models/outputsplunkhec.py +124 -21
- cribl_control_plane/models/outputsplunklb.py +49 -21
- cribl_control_plane/models/outputsqs.py +47 -19
- cribl_control_plane/models/outputstatsd.py +49 -21
- cribl_control_plane/models/outputstatsdext.py +49 -21
- cribl_control_plane/models/outputsumologic.py +49 -21
- cribl_control_plane/models/outputsyslog.py +129 -99
- cribl_control_plane/models/outputtcpjson.py +49 -21
- cribl_control_plane/models/outputwavefront.py +49 -21
- cribl_control_plane/models/outputwebhook.py +49 -21
- cribl_control_plane/models/outputxsiam.py +47 -19
- cribl_control_plane/models/runnablejobcollection.py +12 -8
- cribl_control_plane/models/runnablejobexecutor.py +12 -8
- cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +23 -15
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/METADATA +4 -4
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/RECORD +111 -112
- cribl_control_plane/models/error.py +0 -16
- cribl_control_plane/models/gethealthinfoop.py +0 -17
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/WHEEL +0 -0
|
@@ -35,6 +35,17 @@ class OutputStatsdBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
35
35
|
QUEUE = "queue"
|
|
36
36
|
|
|
37
37
|
|
|
38
|
+
class OutputStatsdMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
39
|
+
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."""
|
|
40
|
+
|
|
41
|
+
# Error
|
|
42
|
+
ERROR = "error"
|
|
43
|
+
# Backpressure
|
|
44
|
+
ALWAYS = "always"
|
|
45
|
+
# Always On
|
|
46
|
+
BACKPRESSURE = "backpressure"
|
|
47
|
+
|
|
48
|
+
|
|
38
49
|
class OutputStatsdCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
39
50
|
r"""Codec to use to compress the persisted data"""
|
|
40
51
|
|
|
@@ -53,17 +64,6 @@ class OutputStatsdQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
53
64
|
DROP = "drop"
|
|
54
65
|
|
|
55
66
|
|
|
56
|
-
class OutputStatsdMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
57
|
-
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."""
|
|
58
|
-
|
|
59
|
-
# Error
|
|
60
|
-
ERROR = "error"
|
|
61
|
-
# Backpressure
|
|
62
|
-
BACKPRESSURE = "backpressure"
|
|
63
|
-
# Always On
|
|
64
|
-
ALWAYS = "always"
|
|
65
|
-
|
|
66
|
-
|
|
67
67
|
class OutputStatsdPqControlsTypedDict(TypedDict):
|
|
68
68
|
pass
|
|
69
69
|
|
|
@@ -105,6 +105,16 @@ class OutputStatsdTypedDict(TypedDict):
|
|
|
105
105
|
r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
|
|
106
106
|
on_backpressure: NotRequired[OutputStatsdBackpressureBehavior]
|
|
107
107
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
108
|
+
pq_strict_ordering: NotRequired[bool]
|
|
109
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
110
|
+
pq_rate_per_sec: NotRequired[float]
|
|
111
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
112
|
+
pq_mode: NotRequired[OutputStatsdMode]
|
|
113
|
+
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."""
|
|
114
|
+
pq_max_buffer_size: NotRequired[float]
|
|
115
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
116
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
117
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
108
118
|
pq_max_file_size: NotRequired[str]
|
|
109
119
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
110
120
|
pq_max_size: NotRequired[str]
|
|
@@ -115,8 +125,6 @@ class OutputStatsdTypedDict(TypedDict):
|
|
|
115
125
|
r"""Codec to use to compress the persisted data"""
|
|
116
126
|
pq_on_backpressure: NotRequired[OutputStatsdQueueFullBehavior]
|
|
117
127
|
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."""
|
|
118
|
-
pq_mode: NotRequired[OutputStatsdMode]
|
|
119
|
-
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."""
|
|
120
128
|
pq_controls: NotRequired[OutputStatsdPqControlsTypedDict]
|
|
121
129
|
|
|
122
130
|
|
|
@@ -191,6 +199,34 @@ class OutputStatsd(BaseModel):
|
|
|
191
199
|
] = OutputStatsdBackpressureBehavior.BLOCK
|
|
192
200
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
193
201
|
|
|
202
|
+
pq_strict_ordering: Annotated[
|
|
203
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
204
|
+
] = True
|
|
205
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
206
|
+
|
|
207
|
+
pq_rate_per_sec: Annotated[
|
|
208
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
209
|
+
] = 0
|
|
210
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
211
|
+
|
|
212
|
+
pq_mode: Annotated[
|
|
213
|
+
Annotated[
|
|
214
|
+
Optional[OutputStatsdMode], PlainValidator(validate_open_enum(False))
|
|
215
|
+
],
|
|
216
|
+
pydantic.Field(alias="pqMode"),
|
|
217
|
+
] = OutputStatsdMode.ERROR
|
|
218
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
219
|
+
|
|
220
|
+
pq_max_buffer_size: Annotated[
|
|
221
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
222
|
+
] = 42
|
|
223
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
224
|
+
|
|
225
|
+
pq_max_backpressure_sec: Annotated[
|
|
226
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
227
|
+
] = 30
|
|
228
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
229
|
+
|
|
194
230
|
pq_max_file_size: Annotated[
|
|
195
231
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
196
232
|
] = "1 MB"
|
|
@@ -221,14 +257,6 @@ class OutputStatsd(BaseModel):
|
|
|
221
257
|
] = OutputStatsdQueueFullBehavior.BLOCK
|
|
222
258
|
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."""
|
|
223
259
|
|
|
224
|
-
pq_mode: Annotated[
|
|
225
|
-
Annotated[
|
|
226
|
-
Optional[OutputStatsdMode], PlainValidator(validate_open_enum(False))
|
|
227
|
-
],
|
|
228
|
-
pydantic.Field(alias="pqMode"),
|
|
229
|
-
] = OutputStatsdMode.ERROR
|
|
230
|
-
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."""
|
|
231
|
-
|
|
232
260
|
pq_controls: Annotated[
|
|
233
261
|
Optional[OutputStatsdPqControls], pydantic.Field(alias="pqControls")
|
|
234
262
|
] = None
|
|
@@ -35,6 +35,17 @@ class OutputStatsdExtBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
35
35
|
QUEUE = "queue"
|
|
36
36
|
|
|
37
37
|
|
|
38
|
+
class OutputStatsdExtMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
39
|
+
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."""
|
|
40
|
+
|
|
41
|
+
# Error
|
|
42
|
+
ERROR = "error"
|
|
43
|
+
# Backpressure
|
|
44
|
+
ALWAYS = "always"
|
|
45
|
+
# Always On
|
|
46
|
+
BACKPRESSURE = "backpressure"
|
|
47
|
+
|
|
48
|
+
|
|
38
49
|
class OutputStatsdExtCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
39
50
|
r"""Codec to use to compress the persisted data"""
|
|
40
51
|
|
|
@@ -53,17 +64,6 @@ class OutputStatsdExtQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
53
64
|
DROP = "drop"
|
|
54
65
|
|
|
55
66
|
|
|
56
|
-
class OutputStatsdExtMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
57
|
-
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."""
|
|
58
|
-
|
|
59
|
-
# Error
|
|
60
|
-
ERROR = "error"
|
|
61
|
-
# Backpressure
|
|
62
|
-
BACKPRESSURE = "backpressure"
|
|
63
|
-
# Always On
|
|
64
|
-
ALWAYS = "always"
|
|
65
|
-
|
|
66
|
-
|
|
67
67
|
class OutputStatsdExtPqControlsTypedDict(TypedDict):
|
|
68
68
|
pass
|
|
69
69
|
|
|
@@ -105,6 +105,16 @@ class OutputStatsdExtTypedDict(TypedDict):
|
|
|
105
105
|
r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
|
|
106
106
|
on_backpressure: NotRequired[OutputStatsdExtBackpressureBehavior]
|
|
107
107
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
108
|
+
pq_strict_ordering: NotRequired[bool]
|
|
109
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
110
|
+
pq_rate_per_sec: NotRequired[float]
|
|
111
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
112
|
+
pq_mode: NotRequired[OutputStatsdExtMode]
|
|
113
|
+
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."""
|
|
114
|
+
pq_max_buffer_size: NotRequired[float]
|
|
115
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
116
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
117
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
108
118
|
pq_max_file_size: NotRequired[str]
|
|
109
119
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
110
120
|
pq_max_size: NotRequired[str]
|
|
@@ -115,8 +125,6 @@ class OutputStatsdExtTypedDict(TypedDict):
|
|
|
115
125
|
r"""Codec to use to compress the persisted data"""
|
|
116
126
|
pq_on_backpressure: NotRequired[OutputStatsdExtQueueFullBehavior]
|
|
117
127
|
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."""
|
|
118
|
-
pq_mode: NotRequired[OutputStatsdExtMode]
|
|
119
|
-
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."""
|
|
120
128
|
pq_controls: NotRequired[OutputStatsdExtPqControlsTypedDict]
|
|
121
129
|
|
|
122
130
|
|
|
@@ -191,6 +199,34 @@ class OutputStatsdExt(BaseModel):
|
|
|
191
199
|
] = OutputStatsdExtBackpressureBehavior.BLOCK
|
|
192
200
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
193
201
|
|
|
202
|
+
pq_strict_ordering: Annotated[
|
|
203
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
204
|
+
] = True
|
|
205
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
206
|
+
|
|
207
|
+
pq_rate_per_sec: Annotated[
|
|
208
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
209
|
+
] = 0
|
|
210
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
211
|
+
|
|
212
|
+
pq_mode: Annotated[
|
|
213
|
+
Annotated[
|
|
214
|
+
Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
|
|
215
|
+
],
|
|
216
|
+
pydantic.Field(alias="pqMode"),
|
|
217
|
+
] = OutputStatsdExtMode.ERROR
|
|
218
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
219
|
+
|
|
220
|
+
pq_max_buffer_size: Annotated[
|
|
221
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
222
|
+
] = 42
|
|
223
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
224
|
+
|
|
225
|
+
pq_max_backpressure_sec: Annotated[
|
|
226
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
227
|
+
] = 30
|
|
228
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
229
|
+
|
|
194
230
|
pq_max_file_size: Annotated[
|
|
195
231
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
196
232
|
] = "1 MB"
|
|
@@ -222,14 +258,6 @@ class OutputStatsdExt(BaseModel):
|
|
|
222
258
|
] = OutputStatsdExtQueueFullBehavior.BLOCK
|
|
223
259
|
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."""
|
|
224
260
|
|
|
225
|
-
pq_mode: Annotated[
|
|
226
|
-
Annotated[
|
|
227
|
-
Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
|
|
228
|
-
],
|
|
229
|
-
pydantic.Field(alias="pqMode"),
|
|
230
|
-
] = OutputStatsdExtMode.ERROR
|
|
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."""
|
|
232
|
-
|
|
233
261
|
pq_controls: Annotated[
|
|
234
262
|
Optional[OutputStatsdExtPqControls], pydantic.Field(alias="pqControls")
|
|
235
263
|
] = None
|
|
@@ -111,6 +111,17 @@ class OutputSumoLogicBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
111
111
|
QUEUE = "queue"
|
|
112
112
|
|
|
113
113
|
|
|
114
|
+
class OutputSumoLogicMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
115
|
+
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."""
|
|
116
|
+
|
|
117
|
+
# Error
|
|
118
|
+
ERROR = "error"
|
|
119
|
+
# Backpressure
|
|
120
|
+
ALWAYS = "always"
|
|
121
|
+
# Always On
|
|
122
|
+
BACKPRESSURE = "backpressure"
|
|
123
|
+
|
|
124
|
+
|
|
114
125
|
class OutputSumoLogicCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
115
126
|
r"""Codec to use to compress the persisted data"""
|
|
116
127
|
|
|
@@ -129,17 +140,6 @@ class OutputSumoLogicQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
129
140
|
DROP = "drop"
|
|
130
141
|
|
|
131
142
|
|
|
132
|
-
class OutputSumoLogicMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
133
|
-
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."""
|
|
134
|
-
|
|
135
|
-
# Error
|
|
136
|
-
ERROR = "error"
|
|
137
|
-
# Backpressure
|
|
138
|
-
BACKPRESSURE = "backpressure"
|
|
139
|
-
# Always On
|
|
140
|
-
ALWAYS = "always"
|
|
141
|
-
|
|
142
|
-
|
|
143
143
|
class OutputSumoLogicPqControlsTypedDict(TypedDict):
|
|
144
144
|
pass
|
|
145
145
|
|
|
@@ -205,6 +205,16 @@ class OutputSumoLogicTypedDict(TypedDict):
|
|
|
205
205
|
total_memory_limit_kb: NotRequired[float]
|
|
206
206
|
r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
|
|
207
207
|
description: NotRequired[str]
|
|
208
|
+
pq_strict_ordering: NotRequired[bool]
|
|
209
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
210
|
+
pq_rate_per_sec: NotRequired[float]
|
|
211
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
212
|
+
pq_mode: NotRequired[OutputSumoLogicMode]
|
|
213
|
+
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."""
|
|
214
|
+
pq_max_buffer_size: NotRequired[float]
|
|
215
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
216
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
217
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
208
218
|
pq_max_file_size: NotRequired[str]
|
|
209
219
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
210
220
|
pq_max_size: NotRequired[str]
|
|
@@ -215,8 +225,6 @@ class OutputSumoLogicTypedDict(TypedDict):
|
|
|
215
225
|
r"""Codec to use to compress the persisted data"""
|
|
216
226
|
pq_on_backpressure: NotRequired[OutputSumoLogicQueueFullBehavior]
|
|
217
227
|
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."""
|
|
218
|
-
pq_mode: NotRequired[OutputSumoLogicMode]
|
|
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
228
|
pq_controls: NotRequired[OutputSumoLogicPqControlsTypedDict]
|
|
221
229
|
|
|
222
230
|
|
|
@@ -349,6 +357,34 @@ class OutputSumoLogic(BaseModel):
|
|
|
349
357
|
|
|
350
358
|
description: Optional[str] = None
|
|
351
359
|
|
|
360
|
+
pq_strict_ordering: Annotated[
|
|
361
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
362
|
+
] = True
|
|
363
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
364
|
+
|
|
365
|
+
pq_rate_per_sec: Annotated[
|
|
366
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
367
|
+
] = 0
|
|
368
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
369
|
+
|
|
370
|
+
pq_mode: Annotated[
|
|
371
|
+
Annotated[
|
|
372
|
+
Optional[OutputSumoLogicMode], PlainValidator(validate_open_enum(False))
|
|
373
|
+
],
|
|
374
|
+
pydantic.Field(alias="pqMode"),
|
|
375
|
+
] = OutputSumoLogicMode.ERROR
|
|
376
|
+
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."""
|
|
377
|
+
|
|
378
|
+
pq_max_buffer_size: Annotated[
|
|
379
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
380
|
+
] = 42
|
|
381
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
382
|
+
|
|
383
|
+
pq_max_backpressure_sec: Annotated[
|
|
384
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
385
|
+
] = 30
|
|
386
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
387
|
+
|
|
352
388
|
pq_max_file_size: Annotated[
|
|
353
389
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
354
390
|
] = "1 MB"
|
|
@@ -380,14 +416,6 @@ class OutputSumoLogic(BaseModel):
|
|
|
380
416
|
] = OutputSumoLogicQueueFullBehavior.BLOCK
|
|
381
417
|
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."""
|
|
382
418
|
|
|
383
|
-
pq_mode: Annotated[
|
|
384
|
-
Annotated[
|
|
385
|
-
Optional[OutputSumoLogicMode], PlainValidator(validate_open_enum(False))
|
|
386
|
-
],
|
|
387
|
-
pydantic.Field(alias="pqMode"),
|
|
388
|
-
] = OutputSumoLogicMode.ERROR
|
|
389
|
-
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."""
|
|
390
|
-
|
|
391
419
|
pq_controls: Annotated[
|
|
392
420
|
Optional[OutputSumoLogicPqControls], pydantic.Field(alias="pqControls")
|
|
393
421
|
] = None
|
|
@@ -90,6 +90,45 @@ class TimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
90
90
|
ISO8601 = "iso8601"
|
|
91
91
|
|
|
92
92
|
|
|
93
|
+
class OutputSyslogTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
95
|
+
|
|
96
|
+
INHERIT = "inherit"
|
|
97
|
+
OFF = "off"
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class OutputSyslogHostTypedDict(TypedDict):
|
|
101
|
+
host: str
|
|
102
|
+
r"""The hostname of the receiver"""
|
|
103
|
+
port: float
|
|
104
|
+
r"""The port to connect to on the provided host"""
|
|
105
|
+
tls: NotRequired[OutputSyslogTLS]
|
|
106
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
107
|
+
servername: NotRequired[str]
|
|
108
|
+
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."""
|
|
109
|
+
weight: NotRequired[float]
|
|
110
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class OutputSyslogHost(BaseModel):
|
|
114
|
+
host: str
|
|
115
|
+
r"""The hostname of the receiver"""
|
|
116
|
+
|
|
117
|
+
port: float
|
|
118
|
+
r"""The port to connect to on the provided host"""
|
|
119
|
+
|
|
120
|
+
tls: Annotated[
|
|
121
|
+
Optional[OutputSyslogTLS], PlainValidator(validate_open_enum(False))
|
|
122
|
+
] = OutputSyslogTLS.INHERIT
|
|
123
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
124
|
+
|
|
125
|
+
servername: Optional[str] = None
|
|
126
|
+
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."""
|
|
127
|
+
|
|
128
|
+
weight: Optional[float] = 1
|
|
129
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
130
|
+
|
|
131
|
+
|
|
93
132
|
class OutputSyslogMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
133
|
TL_SV1 = "TLSv1"
|
|
95
134
|
TL_SV1_1 = "TLSv1.1"
|
|
@@ -184,6 +223,17 @@ class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
184
223
|
QUEUE = "queue"
|
|
185
224
|
|
|
186
225
|
|
|
226
|
+
class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
227
|
+
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."""
|
|
228
|
+
|
|
229
|
+
# Error
|
|
230
|
+
ERROR = "error"
|
|
231
|
+
# Backpressure
|
|
232
|
+
ALWAYS = "always"
|
|
233
|
+
# Always On
|
|
234
|
+
BACKPRESSURE = "backpressure"
|
|
235
|
+
|
|
236
|
+
|
|
187
237
|
class OutputSyslogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
188
238
|
r"""Codec to use to compress the persisted data"""
|
|
189
239
|
|
|
@@ -202,17 +252,6 @@ class OutputSyslogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
202
252
|
DROP = "drop"
|
|
203
253
|
|
|
204
254
|
|
|
205
|
-
class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
206
|
-
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."""
|
|
207
|
-
|
|
208
|
-
# Error
|
|
209
|
-
ERROR = "error"
|
|
210
|
-
# Backpressure
|
|
211
|
-
BACKPRESSURE = "backpressure"
|
|
212
|
-
# Always On
|
|
213
|
-
ALWAYS = "always"
|
|
214
|
-
|
|
215
|
-
|
|
216
255
|
class OutputSyslogPqControlsTypedDict(TypedDict):
|
|
217
256
|
pass
|
|
218
257
|
|
|
@@ -221,43 +260,6 @@ class OutputSyslogPqControls(BaseModel):
|
|
|
221
260
|
pass
|
|
222
261
|
|
|
223
262
|
|
|
224
|
-
class OutputSyslogTLS(str, Enum):
|
|
225
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
226
|
-
|
|
227
|
-
INHERIT = "inherit"
|
|
228
|
-
OFF = "off"
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
class OutputSyslogHostTypedDict(TypedDict):
|
|
232
|
-
host: str
|
|
233
|
-
r"""The hostname of the receiver"""
|
|
234
|
-
port: NotRequired[float]
|
|
235
|
-
r"""The port to connect to on the provided host"""
|
|
236
|
-
tls: NotRequired[OutputSyslogTLS]
|
|
237
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
238
|
-
servername: NotRequired[str]
|
|
239
|
-
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."""
|
|
240
|
-
weight: NotRequired[float]
|
|
241
|
-
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
class OutputSyslogHost(BaseModel):
|
|
245
|
-
host: str
|
|
246
|
-
r"""The hostname of the receiver"""
|
|
247
|
-
|
|
248
|
-
port: Optional[float] = 9997
|
|
249
|
-
r"""The port to connect to on the provided host"""
|
|
250
|
-
|
|
251
|
-
tls: Optional[OutputSyslogTLS] = OutputSyslogTLS.INHERIT
|
|
252
|
-
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
253
|
-
|
|
254
|
-
servername: Optional[str] = None
|
|
255
|
-
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."""
|
|
256
|
-
|
|
257
|
-
weight: Optional[float] = 1
|
|
258
|
-
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
259
|
-
|
|
260
|
-
|
|
261
263
|
class OutputSyslogTypedDict(TypedDict):
|
|
262
264
|
type: OutputSyslogType
|
|
263
265
|
id: NotRequired[str]
|
|
@@ -291,6 +293,20 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
291
293
|
description: NotRequired[str]
|
|
292
294
|
load_balanced: NotRequired[bool]
|
|
293
295
|
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."""
|
|
296
|
+
host: NotRequired[str]
|
|
297
|
+
r"""The hostname of the receiver"""
|
|
298
|
+
port: NotRequired[float]
|
|
299
|
+
r"""The port to connect to on the provided host"""
|
|
300
|
+
exclude_self: NotRequired[bool]
|
|
301
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
302
|
+
hosts: NotRequired[List[OutputSyslogHostTypedDict]]
|
|
303
|
+
r"""Set of hosts to load-balance data to"""
|
|
304
|
+
dns_resolve_period_sec: NotRequired[float]
|
|
305
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
306
|
+
load_balance_stats_period_sec: NotRequired[float]
|
|
307
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
308
|
+
max_concurrent_senders: NotRequired[float]
|
|
309
|
+
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."""
|
|
294
310
|
connection_timeout: NotRequired[float]
|
|
295
311
|
r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
|
|
296
312
|
write_timeout: NotRequired[float]
|
|
@@ -298,14 +314,20 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
298
314
|
tls: NotRequired[OutputSyslogTLSSettingsClientSideTypedDict]
|
|
299
315
|
on_backpressure: NotRequired[OutputSyslogBackpressureBehavior]
|
|
300
316
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
301
|
-
host: NotRequired[str]
|
|
302
|
-
r"""The hostname of the receiver"""
|
|
303
|
-
port: NotRequired[float]
|
|
304
|
-
r"""The port to connect to on the provided host"""
|
|
305
317
|
max_record_size: NotRequired[float]
|
|
306
318
|
r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation."""
|
|
307
319
|
udp_dns_resolve_period_sec: NotRequired[float]
|
|
308
320
|
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."""
|
|
321
|
+
pq_strict_ordering: NotRequired[bool]
|
|
322
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
323
|
+
pq_rate_per_sec: NotRequired[float]
|
|
324
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
325
|
+
pq_mode: NotRequired[OutputSyslogMode]
|
|
326
|
+
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."""
|
|
327
|
+
pq_max_buffer_size: NotRequired[float]
|
|
328
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
329
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
330
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
309
331
|
pq_max_file_size: NotRequired[str]
|
|
310
332
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
311
333
|
pq_max_size: NotRequired[str]
|
|
@@ -316,19 +338,7 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
316
338
|
r"""Codec to use to compress the persisted data"""
|
|
317
339
|
pq_on_backpressure: NotRequired[OutputSyslogQueueFullBehavior]
|
|
318
340
|
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."""
|
|
319
|
-
pq_mode: NotRequired[OutputSyslogMode]
|
|
320
|
-
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."""
|
|
321
341
|
pq_controls: NotRequired[OutputSyslogPqControlsTypedDict]
|
|
322
|
-
dns_resolve_period_sec: NotRequired[float]
|
|
323
|
-
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
324
|
-
load_balance_stats_period_sec: NotRequired[float]
|
|
325
|
-
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
326
|
-
max_concurrent_senders: NotRequired[float]
|
|
327
|
-
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."""
|
|
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
342
|
|
|
333
343
|
|
|
334
344
|
class OutputSyslog(BaseModel):
|
|
@@ -406,6 +416,33 @@ class OutputSyslog(BaseModel):
|
|
|
406
416
|
)
|
|
407
417
|
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."""
|
|
408
418
|
|
|
419
|
+
host: Optional[str] = None
|
|
420
|
+
r"""The hostname of the receiver"""
|
|
421
|
+
|
|
422
|
+
port: Optional[float] = None
|
|
423
|
+
r"""The port to connect to on the provided host"""
|
|
424
|
+
|
|
425
|
+
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
426
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
427
|
+
|
|
428
|
+
hosts: Optional[List[OutputSyslogHost]] = None
|
|
429
|
+
r"""Set of hosts to load-balance data to"""
|
|
430
|
+
|
|
431
|
+
dns_resolve_period_sec: Annotated[
|
|
432
|
+
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
433
|
+
] = 600
|
|
434
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
435
|
+
|
|
436
|
+
load_balance_stats_period_sec: Annotated[
|
|
437
|
+
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
438
|
+
] = 300
|
|
439
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
440
|
+
|
|
441
|
+
max_concurrent_senders: Annotated[
|
|
442
|
+
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
443
|
+
] = 0
|
|
444
|
+
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."""
|
|
445
|
+
|
|
409
446
|
connection_timeout: Annotated[
|
|
410
447
|
Optional[float], pydantic.Field(alias="connectionTimeout")
|
|
411
448
|
] = 10000
|
|
@@ -427,12 +464,6 @@ class OutputSyslog(BaseModel):
|
|
|
427
464
|
] = OutputSyslogBackpressureBehavior.BLOCK
|
|
428
465
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
429
466
|
|
|
430
|
-
host: Optional[str] = None
|
|
431
|
-
r"""The hostname of the receiver"""
|
|
432
|
-
|
|
433
|
-
port: Optional[float] = None
|
|
434
|
-
r"""The port to connect to on the provided host"""
|
|
435
|
-
|
|
436
467
|
max_record_size: Annotated[
|
|
437
468
|
Optional[float], pydantic.Field(alias="maxRecordSize")
|
|
438
469
|
] = 1500
|
|
@@ -443,6 +474,34 @@ class OutputSyslog(BaseModel):
|
|
|
443
474
|
] = 0
|
|
444
475
|
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."""
|
|
445
476
|
|
|
477
|
+
pq_strict_ordering: Annotated[
|
|
478
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
479
|
+
] = True
|
|
480
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
481
|
+
|
|
482
|
+
pq_rate_per_sec: Annotated[
|
|
483
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
484
|
+
] = 0
|
|
485
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
486
|
+
|
|
487
|
+
pq_mode: Annotated[
|
|
488
|
+
Annotated[
|
|
489
|
+
Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
|
|
490
|
+
],
|
|
491
|
+
pydantic.Field(alias="pqMode"),
|
|
492
|
+
] = OutputSyslogMode.ERROR
|
|
493
|
+
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."""
|
|
494
|
+
|
|
495
|
+
pq_max_buffer_size: Annotated[
|
|
496
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
497
|
+
] = 42
|
|
498
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
499
|
+
|
|
500
|
+
pq_max_backpressure_sec: Annotated[
|
|
501
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
502
|
+
] = 30
|
|
503
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
504
|
+
|
|
446
505
|
pq_max_file_size: Annotated[
|
|
447
506
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
448
507
|
] = "1 MB"
|
|
@@ -473,35 +532,6 @@ class OutputSyslog(BaseModel):
|
|
|
473
532
|
] = OutputSyslogQueueFullBehavior.BLOCK
|
|
474
533
|
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."""
|
|
475
534
|
|
|
476
|
-
pq_mode: Annotated[
|
|
477
|
-
Annotated[
|
|
478
|
-
Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
|
|
479
|
-
],
|
|
480
|
-
pydantic.Field(alias="pqMode"),
|
|
481
|
-
] = OutputSyslogMode.ERROR
|
|
482
|
-
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."""
|
|
483
|
-
|
|
484
535
|
pq_controls: Annotated[
|
|
485
536
|
Optional[OutputSyslogPqControls], pydantic.Field(alias="pqControls")
|
|
486
537
|
] = None
|
|
487
|
-
|
|
488
|
-
dns_resolve_period_sec: Annotated[
|
|
489
|
-
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
490
|
-
] = 600
|
|
491
|
-
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
492
|
-
|
|
493
|
-
load_balance_stats_period_sec: Annotated[
|
|
494
|
-
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
495
|
-
] = 300
|
|
496
|
-
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
497
|
-
|
|
498
|
-
max_concurrent_senders: Annotated[
|
|
499
|
-
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
500
|
-
] = 0
|
|
501
|
-
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."""
|
|
502
|
-
|
|
503
|
-
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
504
|
-
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
505
|
-
|
|
506
|
-
hosts: Optional[List[OutputSyslogHost]] = None
|
|
507
|
-
r"""Set of hosts to load-balance data to."""
|