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.

Files changed (113) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/__init__.py +8 -5
  3. cribl_control_plane/errors/{healthstatus_error.py → healthserverstatus_error.py} +10 -9
  4. cribl_control_plane/groups_sdk.py +48 -24
  5. cribl_control_plane/health.py +22 -16
  6. cribl_control_plane/models/__init__.py +152 -29
  7. cribl_control_plane/models/authtoken.py +4 -7
  8. cribl_control_plane/models/configgroup.py +8 -7
  9. cribl_control_plane/models/createconfiggroupbyproductop.py +6 -5
  10. cribl_control_plane/models/createroutesappendbyidop.py +2 -2
  11. cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
  12. cribl_control_plane/models/groupcreaterequest.py +152 -0
  13. cribl_control_plane/models/{healthstatus.py → healthserverstatus.py} +7 -7
  14. cribl_control_plane/models/input.py +15 -15
  15. cribl_control_plane/models/inputappscope.py +20 -16
  16. cribl_control_plane/models/inputconfluentcloud.py +110 -0
  17. cribl_control_plane/models/inputcriblhttp.py +20 -16
  18. cribl_control_plane/models/inputcribllakehttp.py +20 -16
  19. cribl_control_plane/models/inputcribltcp.py +20 -16
  20. cribl_control_plane/models/inputdatadogagent.py +20 -16
  21. cribl_control_plane/models/inputedgeprometheus.py +44 -36
  22. cribl_control_plane/models/inputelastic.py +44 -27
  23. cribl_control_plane/models/inputeventhub.py +118 -0
  24. cribl_control_plane/models/inputfile.py +7 -2
  25. cribl_control_plane/models/inputfirehose.py +20 -16
  26. cribl_control_plane/models/inputgrafana.py +39 -31
  27. cribl_control_plane/models/inputhttp.py +20 -16
  28. cribl_control_plane/models/inputhttpraw.py +20 -16
  29. cribl_control_plane/models/inputkafka.py +108 -0
  30. cribl_control_plane/models/inputloki.py +20 -16
  31. cribl_control_plane/models/inputmetrics.py +20 -16
  32. cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
  33. cribl_control_plane/models/inputopentelemetry.py +19 -15
  34. cribl_control_plane/models/inputprometheus.py +44 -36
  35. cribl_control_plane/models/inputprometheusrw.py +20 -16
  36. cribl_control_plane/models/inputsplunk.py +20 -16
  37. cribl_control_plane/models/inputsplunkhec.py +19 -15
  38. cribl_control_plane/models/inputsyslog.py +39 -31
  39. cribl_control_plane/models/inputsystemmetrics.py +20 -10
  40. cribl_control_plane/models/inputtcp.py +30 -16
  41. cribl_control_plane/models/inputtcpjson.py +20 -16
  42. cribl_control_plane/models/inputwindowsmetrics.py +20 -10
  43. cribl_control_plane/models/inputwineventlogs.py +14 -0
  44. cribl_control_plane/models/inputwizwebhook.py +20 -16
  45. cribl_control_plane/models/inputzscalerhec.py +19 -15
  46. cribl_control_plane/models/logininfo.py +3 -3
  47. cribl_control_plane/models/output.py +21 -21
  48. cribl_control_plane/models/outputazureblob.py +7 -0
  49. cribl_control_plane/models/outputazuredataexplorer.py +283 -93
  50. cribl_control_plane/models/outputazureeventhub.py +169 -21
  51. cribl_control_plane/models/outputazurelogs.py +49 -21
  52. cribl_control_plane/models/outputchronicle.py +49 -21
  53. cribl_control_plane/models/outputclickhouse.py +49 -21
  54. cribl_control_plane/models/outputcloudwatch.py +49 -21
  55. cribl_control_plane/models/outputconfluentcloud.py +167 -22
  56. cribl_control_plane/models/outputcriblhttp.py +49 -21
  57. cribl_control_plane/models/outputcribltcp.py +49 -21
  58. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
  59. cribl_control_plane/models/outputdatabricks.py +7 -0
  60. cribl_control_plane/models/outputdatadog.py +49 -21
  61. cribl_control_plane/models/outputdataset.py +49 -21
  62. cribl_control_plane/models/outputdls3.py +7 -0
  63. cribl_control_plane/models/outputdynatracehttp.py +49 -21
  64. cribl_control_plane/models/outputdynatraceotlp.py +49 -21
  65. cribl_control_plane/models/outputelastic.py +74 -21
  66. cribl_control_plane/models/outputelasticcloud.py +74 -21
  67. cribl_control_plane/models/outputfilesystem.py +7 -0
  68. cribl_control_plane/models/outputgooglechronicle.py +65 -22
  69. cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
  70. cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
  71. cribl_control_plane/models/outputgooglepubsub.py +49 -21
  72. cribl_control_plane/models/outputgrafanacloud.py +98 -42
  73. cribl_control_plane/models/outputgraphite.py +49 -21
  74. cribl_control_plane/models/outputhoneycomb.py +49 -21
  75. cribl_control_plane/models/outputhumiohec.py +49 -21
  76. cribl_control_plane/models/outputinfluxdb.py +49 -21
  77. cribl_control_plane/models/outputkafka.py +162 -19
  78. cribl_control_plane/models/outputkinesis.py +56 -21
  79. cribl_control_plane/models/outputloki.py +47 -19
  80. cribl_control_plane/models/outputminio.py +7 -0
  81. cribl_control_plane/models/outputmsk.py +54 -19
  82. cribl_control_plane/models/outputnewrelic.py +49 -21
  83. cribl_control_plane/models/outputnewrelicevents.py +50 -22
  84. cribl_control_plane/models/outputopentelemetry.py +49 -21
  85. cribl_control_plane/models/outputprometheus.py +49 -21
  86. cribl_control_plane/models/outputs3.py +7 -0
  87. cribl_control_plane/models/outputsentinel.py +49 -21
  88. cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
  89. cribl_control_plane/models/outputservicenow.py +49 -21
  90. cribl_control_plane/models/outputsignalfx.py +49 -21
  91. cribl_control_plane/models/outputsns.py +47 -19
  92. cribl_control_plane/models/outputsplunk.py +49 -21
  93. cribl_control_plane/models/outputsplunkhec.py +124 -21
  94. cribl_control_plane/models/outputsplunklb.py +49 -21
  95. cribl_control_plane/models/outputsqs.py +47 -19
  96. cribl_control_plane/models/outputstatsd.py +49 -21
  97. cribl_control_plane/models/outputstatsdext.py +49 -21
  98. cribl_control_plane/models/outputsumologic.py +49 -21
  99. cribl_control_plane/models/outputsyslog.py +129 -99
  100. cribl_control_plane/models/outputtcpjson.py +49 -21
  101. cribl_control_plane/models/outputwavefront.py +49 -21
  102. cribl_control_plane/models/outputwebhook.py +49 -21
  103. cribl_control_plane/models/outputxsiam.py +47 -19
  104. cribl_control_plane/models/runnablejobcollection.py +12 -8
  105. cribl_control_plane/models/runnablejobexecutor.py +12 -8
  106. cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
  107. cribl_control_plane/routes_sdk.py +6 -6
  108. cribl_control_plane/tokens.py +23 -15
  109. {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/METADATA +4 -4
  110. {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/RECORD +111 -112
  111. cribl_control_plane/models/error.py +0 -16
  112. cribl_control_plane/models/gethealthinfoop.py +0 -17
  113. {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/WHEEL +0 -0
@@ -44,6 +44,17 @@ class OutputSnsBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
44
44
  QUEUE = "queue"
45
45
 
46
46
 
47
+ class OutputSnsMode(str, Enum, metaclass=utils.OpenEnumMeta):
48
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
49
+
50
+ # Error
51
+ ERROR = "error"
52
+ # Backpressure
53
+ ALWAYS = "always"
54
+ # Always On
55
+ BACKPRESSURE = "backpressure"
56
+
57
+
47
58
  class OutputSnsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
48
59
  r"""Codec to use to compress the persisted data"""
49
60
 
@@ -62,17 +73,6 @@ class OutputSnsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
62
73
  DROP = "drop"
63
74
 
64
75
 
65
- class OutputSnsMode(str, Enum, metaclass=utils.OpenEnumMeta):
66
- 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."""
67
-
68
- # Error
69
- ERROR = "error"
70
- # Backpressure
71
- BACKPRESSURE = "backpressure"
72
- # Always On
73
- ALWAYS = "always"
74
-
75
-
76
76
  class OutputSnsPqControlsTypedDict(TypedDict):
77
77
  pass
78
78
 
@@ -126,6 +126,16 @@ class OutputSnsTypedDict(TypedDict):
126
126
  aws_api_key: NotRequired[str]
127
127
  aws_secret: NotRequired[str]
128
128
  r"""Select or create a stored secret that references your access key and secret key"""
129
+ pq_strict_ordering: NotRequired[bool]
130
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
131
+ pq_rate_per_sec: NotRequired[float]
132
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
133
+ pq_mode: NotRequired[OutputSnsMode]
134
+ 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."""
135
+ pq_max_buffer_size: NotRequired[float]
136
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
137
+ pq_max_backpressure_sec: NotRequired[float]
138
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
129
139
  pq_max_file_size: NotRequired[str]
130
140
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
131
141
  pq_max_size: NotRequired[str]
@@ -136,8 +146,6 @@ class OutputSnsTypedDict(TypedDict):
136
146
  r"""Codec to use to compress the persisted data"""
137
147
  pq_on_backpressure: NotRequired[OutputSnsQueueFullBehavior]
138
148
  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."""
139
- pq_mode: NotRequired[OutputSnsMode]
140
- 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."""
141
149
  pq_controls: NotRequired[OutputSnsPqControlsTypedDict]
142
150
 
143
151
 
@@ -244,6 +252,32 @@ class OutputSns(BaseModel):
244
252
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
245
253
  r"""Select or create a stored secret that references your access key and secret key"""
246
254
 
255
+ pq_strict_ordering: Annotated[
256
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
257
+ ] = True
258
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
259
+
260
+ pq_rate_per_sec: Annotated[
261
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
262
+ ] = 0
263
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
264
+
265
+ pq_mode: Annotated[
266
+ Annotated[Optional[OutputSnsMode], PlainValidator(validate_open_enum(False))],
267
+ pydantic.Field(alias="pqMode"),
268
+ ] = OutputSnsMode.ERROR
269
+ 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."""
270
+
271
+ pq_max_buffer_size: Annotated[
272
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
273
+ ] = 42
274
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
275
+
276
+ pq_max_backpressure_sec: Annotated[
277
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
278
+ ] = 30
279
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
280
+
247
281
  pq_max_file_size: Annotated[
248
282
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
249
283
  ] = "1 MB"
@@ -274,12 +308,6 @@ class OutputSns(BaseModel):
274
308
  ] = OutputSnsQueueFullBehavior.BLOCK
275
309
  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
310
 
277
- pq_mode: Annotated[
278
- Annotated[Optional[OutputSnsMode], PlainValidator(validate_open_enum(False))],
279
- pydantic.Field(alias="pqMode"),
280
- ] = OutputSnsMode.ERROR
281
- 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."""
282
-
283
311
  pq_controls: Annotated[
284
312
  Optional[OutputSnsPqControls], pydantic.Field(alias="pqControls")
285
313
  ] = None
@@ -143,6 +143,17 @@ class OutputSplunkCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
143
143
  ALWAYS = "always"
144
144
 
145
145
 
146
+ class OutputSplunkMode(str, Enum, metaclass=utils.OpenEnumMeta):
147
+ 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."""
148
+
149
+ # Error
150
+ ERROR = "error"
151
+ # Backpressure
152
+ ALWAYS = "always"
153
+ # Always On
154
+ BACKPRESSURE = "backpressure"
155
+
156
+
146
157
  class OutputSplunkPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
147
158
  r"""Codec to use to compress the persisted data"""
148
159
 
@@ -161,17 +172,6 @@ class OutputSplunkQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
161
172
  DROP = "drop"
162
173
 
163
174
 
164
- class OutputSplunkMode(str, Enum, metaclass=utils.OpenEnumMeta):
165
- 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."""
166
-
167
- # Error
168
- ERROR = "error"
169
- # Backpressure
170
- BACKPRESSURE = "backpressure"
171
- # Always On
172
- ALWAYS = "always"
173
-
174
-
175
175
  class OutputSplunkPqControlsTypedDict(TypedDict):
176
176
  pass
177
177
 
@@ -222,6 +222,16 @@ class OutputSplunkTypedDict(TypedDict):
222
222
  r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur."""
223
223
  compress: NotRequired[OutputSplunkCompressCompression]
224
224
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
225
+ pq_strict_ordering: NotRequired[bool]
226
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
227
+ pq_rate_per_sec: NotRequired[float]
228
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
229
+ pq_mode: NotRequired[OutputSplunkMode]
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
+ pq_max_buffer_size: NotRequired[float]
232
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
233
+ pq_max_backpressure_sec: NotRequired[float]
234
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
225
235
  pq_max_file_size: NotRequired[str]
226
236
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
227
237
  pq_max_size: NotRequired[str]
@@ -232,8 +242,6 @@ class OutputSplunkTypedDict(TypedDict):
232
242
  r"""Codec to use to compress the persisted data"""
233
243
  pq_on_backpressure: NotRequired[OutputSplunkQueueFullBehavior]
234
244
  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."""
235
- pq_mode: NotRequired[OutputSplunkMode]
236
- 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."""
237
245
  pq_controls: NotRequired[OutputSplunkPqControlsTypedDict]
238
246
  auth_token: NotRequired[str]
239
247
  r"""Shared secret token to use when establishing a connection to a Splunk indexer."""
@@ -346,6 +354,34 @@ class OutputSplunk(BaseModel):
346
354
  ] = OutputSplunkCompressCompression.DISABLED
347
355
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
348
356
 
357
+ pq_strict_ordering: Annotated[
358
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
359
+ ] = True
360
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
361
+
362
+ pq_rate_per_sec: Annotated[
363
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
364
+ ] = 0
365
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
366
+
367
+ pq_mode: Annotated[
368
+ Annotated[
369
+ Optional[OutputSplunkMode], PlainValidator(validate_open_enum(False))
370
+ ],
371
+ pydantic.Field(alias="pqMode"),
372
+ ] = OutputSplunkMode.ERROR
373
+ 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."""
374
+
375
+ pq_max_buffer_size: Annotated[
376
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
377
+ ] = 42
378
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
379
+
380
+ pq_max_backpressure_sec: Annotated[
381
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
382
+ ] = 30
383
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
384
+
349
385
  pq_max_file_size: Annotated[
350
386
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
351
387
  ] = "1 MB"
@@ -377,14 +413,6 @@ class OutputSplunk(BaseModel):
377
413
  ] = OutputSplunkQueueFullBehavior.BLOCK
378
414
  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."""
379
415
 
380
- pq_mode: Annotated[
381
- Annotated[
382
- Optional[OutputSplunkMode], PlainValidator(validate_open_enum(False))
383
- ],
384
- pydantic.Field(alias="pqMode"),
385
- ] = OutputSplunkMode.ERROR
386
- 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."""
387
-
388
416
  pq_controls: Annotated[
389
417
  Optional[OutputSplunkPqControls], pydantic.Field(alias="pqControls")
390
418
  ] = None
@@ -15,6 +15,78 @@ class OutputSplunkHecType(str, Enum):
15
15
  SPLUNK_HEC = "splunk_hec"
16
16
 
17
17
 
18
+ class OutputSplunkHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
19
+ TL_SV1 = "TLSv1"
20
+ TL_SV1_1 = "TLSv1.1"
21
+ TL_SV1_2 = "TLSv1.2"
22
+ TL_SV1_3 = "TLSv1.3"
23
+
24
+
25
+ class OutputSplunkHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ TL_SV1 = "TLSv1"
27
+ TL_SV1_1 = "TLSv1.1"
28
+ TL_SV1_2 = "TLSv1.2"
29
+ TL_SV1_3 = "TLSv1.3"
30
+
31
+
32
+ class OutputSplunkHecTLSSettingsClientSideTypedDict(TypedDict):
33
+ disabled: NotRequired[bool]
34
+ servername: NotRequired[str]
35
+ r"""Server name for the SNI (Server Name Indication) TLS extension. It must be a host name, and not an IP address."""
36
+ certificate_name: NotRequired[str]
37
+ r"""The name of the predefined certificate"""
38
+ ca_path: NotRequired[str]
39
+ r"""Path on client in which to find CA certificates to verify the server's cert. PEM format. Can reference $ENV_VARS."""
40
+ priv_key_path: NotRequired[str]
41
+ r"""Path on client in which to find the private key to use. PEM format. Can reference $ENV_VARS."""
42
+ cert_path: NotRequired[str]
43
+ r"""Path on client in which to find certificates to use. PEM format. Can reference $ENV_VARS."""
44
+ passphrase: NotRequired[str]
45
+ r"""Passphrase to use to decrypt private key"""
46
+ min_version: NotRequired[OutputSplunkHecMinimumTLSVersion]
47
+ max_version: NotRequired[OutputSplunkHecMaximumTLSVersion]
48
+
49
+
50
+ class OutputSplunkHecTLSSettingsClientSide(BaseModel):
51
+ disabled: Optional[bool] = True
52
+
53
+ servername: Optional[str] = None
54
+ r"""Server name for the SNI (Server Name Indication) TLS extension. It must be a host name, and not an IP address."""
55
+
56
+ certificate_name: Annotated[
57
+ Optional[str], pydantic.Field(alias="certificateName")
58
+ ] = None
59
+ r"""The name of the predefined certificate"""
60
+
61
+ ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
62
+ r"""Path on client in which to find CA certificates to verify the server's cert. PEM format. Can reference $ENV_VARS."""
63
+
64
+ priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
65
+ r"""Path on client in which to find the private key to use. PEM format. Can reference $ENV_VARS."""
66
+
67
+ cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
68
+ r"""Path on client in which to find certificates to use. PEM format. Can reference $ENV_VARS."""
69
+
70
+ passphrase: Optional[str] = None
71
+ r"""Passphrase to use to decrypt private key"""
72
+
73
+ min_version: Annotated[
74
+ Annotated[
75
+ Optional[OutputSplunkHecMinimumTLSVersion],
76
+ PlainValidator(validate_open_enum(False)),
77
+ ],
78
+ pydantic.Field(alias="minVersion"),
79
+ ] = None
80
+
81
+ max_version: Annotated[
82
+ Annotated[
83
+ Optional[OutputSplunkHecMaximumTLSVersion],
84
+ PlainValidator(validate_open_enum(False)),
85
+ ],
86
+ pydantic.Field(alias="maxVersion"),
87
+ ] = None
88
+
89
+
18
90
  class OutputSplunkHecExtraHTTPHeaderTypedDict(TypedDict):
19
91
  value: str
20
92
  name: NotRequired[str]
@@ -124,6 +196,17 @@ class OutputSplunkHecURL(BaseModel):
124
196
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
125
197
 
126
198
 
199
+ class OutputSplunkHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
200
+ 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."""
201
+
202
+ # Error
203
+ ERROR = "error"
204
+ # Backpressure
205
+ ALWAYS = "always"
206
+ # Always On
207
+ BACKPRESSURE = "backpressure"
208
+
209
+
127
210
  class OutputSplunkHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
128
211
  r"""Codec to use to compress the persisted data"""
129
212
 
@@ -142,17 +225,6 @@ class OutputSplunkHecQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
142
225
  DROP = "drop"
143
226
 
144
227
 
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
228
  class OutputSplunkHecPqControlsTypedDict(TypedDict):
157
229
  pass
158
230
 
@@ -179,6 +251,7 @@ class OutputSplunkHecTypedDict(TypedDict):
179
251
  r"""In the Splunk app, define which Splunk processing queue to send the events after HEC processing."""
180
252
  tcp_routing: NotRequired[str]
181
253
  r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set."""
254
+ tls: NotRequired[OutputSplunkHecTLSSettingsClientSideTypedDict]
182
255
  concurrency: NotRequired[float]
183
256
  r"""Maximum number of ongoing requests before blocking"""
184
257
  max_payload_size_kb: NotRequired[float]
@@ -231,6 +304,16 @@ class OutputSplunkHecTypedDict(TypedDict):
231
304
  r"""Splunk HEC authentication token"""
232
305
  text_secret: NotRequired[str]
233
306
  r"""Select or create a stored text secret"""
307
+ pq_strict_ordering: NotRequired[bool]
308
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
309
+ pq_rate_per_sec: NotRequired[float]
310
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
311
+ pq_mode: NotRequired[OutputSplunkHecMode]
312
+ 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."""
313
+ pq_max_buffer_size: NotRequired[float]
314
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
315
+ pq_max_backpressure_sec: NotRequired[float]
316
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
234
317
  pq_max_file_size: NotRequired[str]
235
318
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
236
319
  pq_max_size: NotRequired[str]
@@ -241,8 +324,6 @@ class OutputSplunkHecTypedDict(TypedDict):
241
324
  r"""Codec to use to compress the persisted data"""
242
325
  pq_on_backpressure: NotRequired[OutputSplunkHecQueueFullBehavior]
243
326
  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
327
  pq_controls: NotRequired[OutputSplunkHecPqControlsTypedDict]
247
328
 
248
329
 
@@ -281,6 +362,8 @@ class OutputSplunkHec(BaseModel):
281
362
  )
282
363
  r"""In the Splunk app, set the value of _TCP_ROUTING for events that do not have _ctrl._TCP_ROUTING set."""
283
364
 
365
+ tls: Optional[OutputSplunkHecTLSSettingsClientSide] = None
366
+
284
367
  concurrency: Optional[float] = 5
285
368
  r"""Maximum number of ongoing requests before blocking"""
286
369
 
@@ -403,6 +486,34 @@ class OutputSplunkHec(BaseModel):
403
486
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
404
487
  r"""Select or create a stored text secret"""
405
488
 
489
+ pq_strict_ordering: Annotated[
490
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
491
+ ] = True
492
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
493
+
494
+ pq_rate_per_sec: Annotated[
495
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
496
+ ] = 0
497
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
498
+
499
+ pq_mode: Annotated[
500
+ Annotated[
501
+ Optional[OutputSplunkHecMode], PlainValidator(validate_open_enum(False))
502
+ ],
503
+ pydantic.Field(alias="pqMode"),
504
+ ] = OutputSplunkHecMode.ERROR
505
+ 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."""
506
+
507
+ pq_max_buffer_size: Annotated[
508
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
509
+ ] = 42
510
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
511
+
512
+ pq_max_backpressure_sec: Annotated[
513
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
514
+ ] = 30
515
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
516
+
406
517
  pq_max_file_size: Annotated[
407
518
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
408
519
  ] = "1 MB"
@@ -434,14 +545,6 @@ class OutputSplunkHec(BaseModel):
434
545
  ] = OutputSplunkHecQueueFullBehavior.BLOCK
435
546
  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
547
 
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
548
  pq_controls: Annotated[
446
549
  Optional[OutputSplunkHecPqControls], pydantic.Field(alias="pqControls")
447
550
  ] = None
@@ -277,6 +277,17 @@ class OutputSplunkLbHost(BaseModel):
277
277
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
278
278
 
279
279
 
280
+ class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
281
+ 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."""
282
+
283
+ # Error
284
+ ERROR = "error"
285
+ # Backpressure
286
+ ALWAYS = "always"
287
+ # Always On
288
+ BACKPRESSURE = "backpressure"
289
+
290
+
280
291
  class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
281
292
  r"""Codec to use to compress the persisted data"""
282
293
 
@@ -295,17 +306,6 @@ class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
295
306
  DROP = "drop"
296
307
 
297
308
 
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
309
  class OutputSplunkLbPqControlsTypedDict(TypedDict):
310
310
  pass
311
311
 
@@ -368,6 +368,16 @@ class OutputSplunkLbTypedDict(TypedDict):
368
368
  r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment."""
369
369
  exclude_self: NotRequired[bool]
370
370
  r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
371
+ pq_strict_ordering: NotRequired[bool]
372
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
373
+ pq_rate_per_sec: NotRequired[float]
374
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
375
+ pq_mode: NotRequired[OutputSplunkLbMode]
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
+ pq_max_buffer_size: NotRequired[float]
378
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
379
+ pq_max_backpressure_sec: NotRequired[float]
380
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
371
381
  pq_max_file_size: NotRequired[str]
372
382
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
373
383
  pq_max_size: NotRequired[str]
@@ -378,8 +388,6 @@ class OutputSplunkLbTypedDict(TypedDict):
378
388
  r"""Codec to use to compress the persisted data"""
379
389
  pq_on_backpressure: NotRequired[OutputSplunkLbQueueFullBehavior]
380
390
  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
391
  pq_controls: NotRequired[OutputSplunkLbPqControlsTypedDict]
384
392
  auth_token: NotRequired[str]
385
393
  r"""Shared secret token to use when establishing a connection to a Splunk indexer."""
@@ -523,6 +531,34 @@ class OutputSplunkLb(BaseModel):
523
531
  exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
524
532
  r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
525
533
 
534
+ pq_strict_ordering: Annotated[
535
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
536
+ ] = True
537
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
538
+
539
+ pq_rate_per_sec: Annotated[
540
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
541
+ ] = 0
542
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
543
+
544
+ pq_mode: Annotated[
545
+ Annotated[
546
+ Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
547
+ ],
548
+ pydantic.Field(alias="pqMode"),
549
+ ] = OutputSplunkLbMode.ERROR
550
+ 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."""
551
+
552
+ pq_max_buffer_size: Annotated[
553
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
554
+ ] = 42
555
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
556
+
557
+ pq_max_backpressure_sec: Annotated[
558
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
559
+ ] = 30
560
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
561
+
526
562
  pq_max_file_size: Annotated[
527
563
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
528
564
  ] = "1 MB"
@@ -554,14 +590,6 @@ class OutputSplunkLb(BaseModel):
554
590
  ] = OutputSplunkLbQueueFullBehavior.BLOCK
555
591
  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
592
 
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
593
  pq_controls: Annotated[
566
594
  Optional[OutputSplunkLbPqControls], pydantic.Field(alias="pqControls")
567
595
  ] = None
@@ -53,6 +53,17 @@ class OutputSqsBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
53
53
  QUEUE = "queue"
54
54
 
55
55
 
56
+ class OutputSqsMode(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
+ ALWAYS = "always"
63
+ # Always On
64
+ BACKPRESSURE = "backpressure"
65
+
66
+
56
67
  class OutputSqsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
57
68
  r"""Codec to use to compress the persisted data"""
58
69
 
@@ -71,17 +82,6 @@ class OutputSqsQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
71
82
  DROP = "drop"
72
83
 
73
84
 
74
- class OutputSqsMode(str, Enum, metaclass=utils.OpenEnumMeta):
75
- 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."""
76
-
77
- # Error
78
- ERROR = "error"
79
- # Backpressure
80
- BACKPRESSURE = "backpressure"
81
- # Always On
82
- ALWAYS = "always"
83
-
84
-
85
85
  class OutputSqsPqControlsTypedDict(TypedDict):
86
86
  pass
87
87
 
@@ -147,6 +147,16 @@ class OutputSqsTypedDict(TypedDict):
147
147
  aws_api_key: NotRequired[str]
148
148
  aws_secret: NotRequired[str]
149
149
  r"""Select or create a stored secret that references your access key and secret key"""
150
+ pq_strict_ordering: NotRequired[bool]
151
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
152
+ pq_rate_per_sec: NotRequired[float]
153
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
154
+ pq_mode: NotRequired[OutputSqsMode]
155
+ 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."""
156
+ pq_max_buffer_size: NotRequired[float]
157
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
158
+ pq_max_backpressure_sec: NotRequired[float]
159
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
150
160
  pq_max_file_size: NotRequired[str]
151
161
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
152
162
  pq_max_size: NotRequired[str]
@@ -157,8 +167,6 @@ class OutputSqsTypedDict(TypedDict):
157
167
  r"""Codec to use to compress the persisted data"""
158
168
  pq_on_backpressure: NotRequired[OutputSqsQueueFullBehavior]
159
169
  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."""
160
- pq_mode: NotRequired[OutputSqsMode]
161
- 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."""
162
170
  pq_controls: NotRequired[OutputSqsPqControlsTypedDict]
163
171
 
164
172
 
@@ -298,6 +306,32 @@ class OutputSqs(BaseModel):
298
306
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
299
307
  r"""Select or create a stored secret that references your access key and secret key"""
300
308
 
309
+ pq_strict_ordering: Annotated[
310
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
311
+ ] = True
312
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
313
+
314
+ pq_rate_per_sec: Annotated[
315
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
316
+ ] = 0
317
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
318
+
319
+ pq_mode: Annotated[
320
+ Annotated[Optional[OutputSqsMode], PlainValidator(validate_open_enum(False))],
321
+ pydantic.Field(alias="pqMode"),
322
+ ] = OutputSqsMode.ERROR
323
+ 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."""
324
+
325
+ pq_max_buffer_size: Annotated[
326
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
327
+ ] = 42
328
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
329
+
330
+ pq_max_backpressure_sec: Annotated[
331
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
332
+ ] = 30
333
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
334
+
301
335
  pq_max_file_size: Annotated[
302
336
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
303
337
  ] = "1 MB"
@@ -328,12 +362,6 @@ class OutputSqs(BaseModel):
328
362
  ] = OutputSqsQueueFullBehavior.BLOCK
329
363
  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."""
330
364
 
331
- pq_mode: Annotated[
332
- Annotated[Optional[OutputSqsMode], PlainValidator(validate_open_enum(False))],
333
- pydantic.Field(alias="pqMode"),
334
- ] = OutputSqsMode.ERROR
335
- 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."""
336
-
337
365
  pq_controls: Annotated[
338
366
  Optional[OutputSqsPqControls], pydantic.Field(alias="pqControls")
339
367
  ] = None