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.

Files changed (179) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/errors/__init__.py +5 -8
  3. cribl_control_plane/errors/{healthserverstatus_error.py → healthstatus_error.py} +9 -10
  4. cribl_control_plane/groups_sdk.py +28 -52
  5. cribl_control_plane/health.py +16 -22
  6. cribl_control_plane/models/__init__.py +54 -217
  7. cribl_control_plane/models/appmode.py +14 -0
  8. cribl_control_plane/models/authtoken.py +1 -5
  9. cribl_control_plane/models/cacheconnection.py +0 -20
  10. cribl_control_plane/models/configgroup.py +7 -55
  11. cribl_control_plane/models/configgroupcloud.py +1 -11
  12. cribl_control_plane/models/createconfiggroupbyproductop.py +5 -17
  13. cribl_control_plane/models/createroutesappendbyidop.py +2 -2
  14. cribl_control_plane/models/createversionundoop.py +3 -3
  15. cribl_control_plane/models/cribllakedataset.py +1 -11
  16. cribl_control_plane/models/cribllakedatasetupdate.py +1 -11
  17. cribl_control_plane/models/datasetmetadata.py +1 -11
  18. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +0 -11
  19. cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
  20. cribl_control_plane/models/distributedsummary.py +0 -6
  21. cribl_control_plane/models/error.py +16 -0
  22. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +0 -20
  23. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +0 -20
  24. cribl_control_plane/models/getconfiggroupbyproductandidop.py +0 -11
  25. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +0 -11
  26. cribl_control_plane/models/gethealthinfoop.py +17 -0
  27. cribl_control_plane/models/getsummaryop.py +0 -11
  28. cribl_control_plane/models/hbcriblinfo.py +3 -24
  29. cribl_control_plane/models/{healthserverstatus.py → healthstatus.py} +8 -27
  30. cribl_control_plane/models/heartbeatmetadata.py +0 -3
  31. cribl_control_plane/models/input.py +78 -80
  32. cribl_control_plane/models/inputappscope.py +17 -80
  33. cribl_control_plane/models/inputazureblob.py +1 -33
  34. cribl_control_plane/models/inputcollection.py +1 -24
  35. cribl_control_plane/models/inputconfluentcloud.py +18 -195
  36. cribl_control_plane/models/inputcribl.py +1 -24
  37. cribl_control_plane/models/inputcriblhttp.py +17 -62
  38. cribl_control_plane/models/inputcribllakehttp.py +17 -62
  39. cribl_control_plane/models/inputcriblmetrics.py +1 -24
  40. cribl_control_plane/models/inputcribltcp.py +17 -62
  41. cribl_control_plane/models/inputcrowdstrike.py +1 -54
  42. cribl_control_plane/models/inputdatadogagent.py +17 -62
  43. cribl_control_plane/models/inputdatagen.py +1 -24
  44. cribl_control_plane/models/inputedgeprometheus.py +34 -147
  45. cribl_control_plane/models/inputelastic.py +27 -119
  46. cribl_control_plane/models/inputeventhub.py +1 -182
  47. cribl_control_plane/models/inputexec.py +1 -33
  48. cribl_control_plane/models/inputfile.py +3 -42
  49. cribl_control_plane/models/inputfirehose.py +17 -62
  50. cribl_control_plane/models/inputgooglepubsub.py +1 -36
  51. cribl_control_plane/models/inputgrafana.py +32 -157
  52. cribl_control_plane/models/inputhttp.py +17 -62
  53. cribl_control_plane/models/inputhttpraw.py +17 -62
  54. cribl_control_plane/models/inputjournalfiles.py +1 -24
  55. cribl_control_plane/models/inputkafka.py +17 -189
  56. cribl_control_plane/models/inputkinesis.py +1 -80
  57. cribl_control_plane/models/inputkubeevents.py +1 -24
  58. cribl_control_plane/models/inputkubelogs.py +1 -33
  59. cribl_control_plane/models/inputkubemetrics.py +1 -33
  60. cribl_control_plane/models/inputloki.py +17 -71
  61. cribl_control_plane/models/inputmetrics.py +17 -62
  62. cribl_control_plane/models/inputmodeldriventelemetry.py +17 -62
  63. cribl_control_plane/models/inputmsk.py +18 -81
  64. cribl_control_plane/models/inputnetflow.py +1 -24
  65. cribl_control_plane/models/inputoffice365mgmt.py +1 -67
  66. cribl_control_plane/models/inputoffice365msgtrace.py +1 -67
  67. cribl_control_plane/models/inputoffice365service.py +1 -67
  68. cribl_control_plane/models/inputopentelemetry.py +16 -92
  69. cribl_control_plane/models/inputprometheus.py +34 -138
  70. cribl_control_plane/models/inputprometheusrw.py +17 -71
  71. cribl_control_plane/models/inputrawudp.py +1 -24
  72. cribl_control_plane/models/inputs3.py +1 -45
  73. cribl_control_plane/models/inputs3inventory.py +1 -54
  74. cribl_control_plane/models/inputsecuritylake.py +1 -54
  75. cribl_control_plane/models/inputsnmp.py +1 -40
  76. cribl_control_plane/models/inputsplunk.py +17 -85
  77. cribl_control_plane/models/inputsplunkhec.py +16 -70
  78. cribl_control_plane/models/inputsplunksearch.py +1 -63
  79. cribl_control_plane/models/inputsqs.py +1 -56
  80. cribl_control_plane/models/inputsyslog.py +32 -121
  81. cribl_control_plane/models/inputsystemmetrics.py +9 -142
  82. cribl_control_plane/models/inputsystemstate.py +1 -33
  83. cribl_control_plane/models/inputtcp.py +17 -81
  84. cribl_control_plane/models/inputtcpjson.py +17 -71
  85. cribl_control_plane/models/inputwef.py +1 -71
  86. cribl_control_plane/models/inputwindowsmetrics.py +9 -129
  87. cribl_control_plane/models/inputwineventlogs.py +1 -60
  88. cribl_control_plane/models/inputwiz.py +1 -45
  89. cribl_control_plane/models/inputwizwebhook.py +17 -62
  90. cribl_control_plane/models/inputzscalerhec.py +16 -70
  91. cribl_control_plane/models/jobinfo.py +1 -4
  92. cribl_control_plane/models/jobstatus.py +3 -34
  93. cribl_control_plane/models/listconfiggroupbyproductop.py +0 -11
  94. cribl_control_plane/models/logininfo.py +3 -3
  95. cribl_control_plane/models/masterworkerentry.py +1 -11
  96. cribl_control_plane/models/nodeprovidedinfo.py +1 -11
  97. cribl_control_plane/models/nodeupgradestatus.py +0 -38
  98. cribl_control_plane/models/output.py +88 -93
  99. cribl_control_plane/models/outputazureblob.py +1 -110
  100. cribl_control_plane/models/outputazuredataexplorer.py +87 -452
  101. cribl_control_plane/models/outputazureeventhub.py +19 -281
  102. cribl_control_plane/models/outputazurelogs.py +19 -115
  103. cribl_control_plane/models/outputchronicle.py +19 -115
  104. cribl_control_plane/models/outputclickhouse.py +19 -155
  105. cribl_control_plane/models/outputcloudwatch.py +19 -106
  106. cribl_control_plane/models/outputconfluentcloud.py +38 -311
  107. cribl_control_plane/models/outputcriblhttp.py +19 -135
  108. cribl_control_plane/models/outputcribllake.py +1 -97
  109. cribl_control_plane/models/outputcribltcp.py +19 -132
  110. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +20 -129
  111. cribl_control_plane/models/outputdatadog.py +19 -159
  112. cribl_control_plane/models/outputdataset.py +19 -143
  113. cribl_control_plane/models/outputdiskspool.py +1 -11
  114. cribl_control_plane/models/outputdls3.py +1 -152
  115. cribl_control_plane/models/outputdynatracehttp.py +19 -160
  116. cribl_control_plane/models/outputdynatraceotlp.py +19 -160
  117. cribl_control_plane/models/outputelastic.py +19 -163
  118. cribl_control_plane/models/outputelasticcloud.py +19 -140
  119. cribl_control_plane/models/outputexabeam.py +1 -61
  120. cribl_control_plane/models/outputfilesystem.py +1 -87
  121. cribl_control_plane/models/outputgooglechronicle.py +20 -166
  122. cribl_control_plane/models/outputgooglecloudlogging.py +20 -131
  123. cribl_control_plane/models/outputgooglecloudstorage.py +1 -136
  124. cribl_control_plane/models/outputgooglepubsub.py +19 -106
  125. cribl_control_plane/models/outputgrafanacloud.py +37 -288
  126. cribl_control_plane/models/outputgraphite.py +19 -105
  127. cribl_control_plane/models/outputhoneycomb.py +19 -115
  128. cribl_control_plane/models/outputhumiohec.py +19 -126
  129. cribl_control_plane/models/outputinfluxdb.py +19 -130
  130. cribl_control_plane/models/outputkafka.py +34 -302
  131. cribl_control_plane/models/outputkinesis.py +19 -133
  132. cribl_control_plane/models/outputloki.py +17 -129
  133. cribl_control_plane/models/outputminio.py +1 -145
  134. cribl_control_plane/models/outputmsk.py +34 -193
  135. cribl_control_plane/models/outputnewrelic.py +19 -136
  136. cribl_control_plane/models/outputnewrelicevents.py +20 -128
  137. cribl_control_plane/models/outputopentelemetry.py +19 -178
  138. cribl_control_plane/models/outputprometheus.py +19 -115
  139. cribl_control_plane/models/outputring.py +1 -31
  140. cribl_control_plane/models/outputs3.py +1 -152
  141. cribl_control_plane/models/outputsecuritylake.py +1 -114
  142. cribl_control_plane/models/outputsentinel.py +19 -135
  143. cribl_control_plane/models/outputsentineloneaisiem.py +20 -134
  144. cribl_control_plane/models/outputservicenow.py +19 -168
  145. cribl_control_plane/models/outputsignalfx.py +19 -115
  146. cribl_control_plane/models/outputsns.py +17 -113
  147. cribl_control_plane/models/outputsplunk.py +19 -153
  148. cribl_control_plane/models/outputsplunkhec.py +19 -208
  149. cribl_control_plane/models/outputsplunklb.py +19 -182
  150. cribl_control_plane/models/outputsqs.py +17 -124
  151. cribl_control_plane/models/outputstatsd.py +19 -105
  152. cribl_control_plane/models/outputstatsdext.py +19 -105
  153. cribl_control_plane/models/outputsumologic.py +19 -117
  154. cribl_control_plane/models/outputsyslog.py +96 -259
  155. cribl_control_plane/models/outputtcpjson.py +19 -141
  156. cribl_control_plane/models/outputwavefront.py +19 -115
  157. cribl_control_plane/models/outputwebhook.py +19 -161
  158. cribl_control_plane/models/outputxsiam.py +17 -113
  159. cribl_control_plane/models/packinfo.py +5 -8
  160. cribl_control_plane/models/packinstallinfo.py +5 -8
  161. cribl_control_plane/models/resourcepolicy.py +0 -11
  162. cribl_control_plane/models/{uploadpackresponse.py → routecloneconf.py} +4 -4
  163. cribl_control_plane/models/routeconf.py +4 -3
  164. cribl_control_plane/models/runnablejobcollection.py +9 -72
  165. cribl_control_plane/models/runnablejobexecutor.py +9 -32
  166. cribl_control_plane/models/runnablejobscheduledsearch.py +9 -23
  167. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +0 -11
  168. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +0 -11
  169. cribl_control_plane/packs.py +7 -202
  170. cribl_control_plane/routes_sdk.py +6 -6
  171. cribl_control_plane/tokens.py +15 -23
  172. {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/METADATA +9 -50
  173. cribl_control_plane-0.3.0a1.dist-info/RECORD +330 -0
  174. cribl_control_plane/models/groupcreaterequest.py +0 -171
  175. cribl_control_plane/models/outpostnodeinfo.py +0 -16
  176. cribl_control_plane/models/outputdatabricks.py +0 -482
  177. cribl_control_plane/models/updatepacksop.py +0 -25
  178. cribl_control_plane-0.2.1rc7.dist-info/RECORD +0 -331
  179. {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 models, utils
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
@@ -30,11 +29,8 @@ class OutputSentinelExtraHTTPHeader(BaseModel):
30
29
  class OutputSentinelFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
31
30
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
32
31
 
33
- # Payload
34
32
  PAYLOAD = "payload"
35
- # Payload + Headers
36
33
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
37
- # None
38
34
  NONE = "none"
39
35
 
40
36
 
@@ -95,11 +91,8 @@ class OutputSentinelTimeoutRetrySettings(BaseModel):
95
91
  class OutputSentinelBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
96
92
  r"""How to handle events when all receivers are exerting backpressure"""
97
93
 
98
- # Block
99
94
  BLOCK = "block"
100
- # Drop
101
95
  DROP = "drop"
102
- # Persistent Queue
103
96
  QUEUE = "queue"
104
97
 
105
98
 
@@ -110,9 +103,7 @@ class AuthType(str, Enum, metaclass=utils.OpenEnumMeta):
110
103
  class EndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta):
111
104
  r"""Enter the data collection endpoint URL or the individual ID"""
112
105
 
113
- # URL
114
106
  URL = "url"
115
- # ID
116
107
  ID = "ID"
117
108
 
118
109
 
@@ -123,35 +114,28 @@ class OutputSentinelFormat(str, Enum, metaclass=utils.OpenEnumMeta):
123
114
  ADVANCED = "advanced"
124
115
 
125
116
 
126
- class OutputSentinelMode(str, Enum, metaclass=utils.OpenEnumMeta):
127
- 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."""
128
-
129
- # Error
130
- ERROR = "error"
131
- # Backpressure
132
- ALWAYS = "always"
133
- # Always On
134
- BACKPRESSURE = "backpressure"
135
-
136
-
137
117
  class OutputSentinelCompression(str, Enum, metaclass=utils.OpenEnumMeta):
138
118
  r"""Codec to use to compress the persisted data"""
139
119
 
140
- # None
141
120
  NONE = "none"
142
- # Gzip
143
121
  GZIP = "gzip"
144
122
 
145
123
 
146
124
  class OutputSentinelQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
147
125
  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."""
148
126
 
149
- # Block
150
127
  BLOCK = "block"
151
- # Drop new data
152
128
  DROP = "drop"
153
129
 
154
130
 
131
+ class OutputSentinelMode(str, Enum, metaclass=utils.OpenEnumMeta):
132
+ 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."""
133
+
134
+ ERROR = "error"
135
+ BACKPRESSURE = "backpressure"
136
+ ALWAYS = "always"
137
+
138
+
155
139
  class OutputSentinelPqControlsTypedDict(TypedDict):
156
140
  pass
157
141
 
@@ -239,16 +223,6 @@ class OutputSentinelTypedDict(TypedDict):
239
223
  r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
240
224
  format_payload_code: NotRequired[str]
241
225
  r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
242
- pq_strict_ordering: NotRequired[bool]
243
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
244
- pq_rate_per_sec: NotRequired[float]
245
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
246
- pq_mode: NotRequired[OutputSentinelMode]
247
- 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."""
248
- pq_max_buffer_size: NotRequired[float]
249
- r"""The maximum number of events to hold in memory before writing the events to disk"""
250
- pq_max_backpressure_sec: NotRequired[float]
251
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
252
226
  pq_max_file_size: NotRequired[str]
253
227
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
254
228
  pq_max_size: NotRequired[str]
@@ -259,6 +233,8 @@ class OutputSentinelTypedDict(TypedDict):
259
233
  r"""Codec to use to compress the persisted data"""
260
234
  pq_on_backpressure: NotRequired[OutputSentinelQueueFullBehavior]
261
235
  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."""
236
+ pq_mode: NotRequired[OutputSentinelMode]
237
+ 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."""
262
238
  pq_controls: NotRequired[OutputSentinelPqControlsTypedDict]
263
239
  url: NotRequired[str]
264
240
  r"""URL to send events to. Can be overwritten by an event's __url field."""
@@ -454,34 +430,6 @@ class OutputSentinel(BaseModel):
454
430
  ] = None
455
431
  r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
456
432
 
457
- pq_strict_ordering: Annotated[
458
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
459
- ] = True
460
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
461
-
462
- pq_rate_per_sec: Annotated[
463
- Optional[float], pydantic.Field(alias="pqRatePerSec")
464
- ] = 0
465
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
466
-
467
- pq_mode: Annotated[
468
- Annotated[
469
- Optional[OutputSentinelMode], PlainValidator(validate_open_enum(False))
470
- ],
471
- pydantic.Field(alias="pqMode"),
472
- ] = OutputSentinelMode.ERROR
473
- 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."""
474
-
475
- pq_max_buffer_size: Annotated[
476
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
477
- ] = 42
478
- r"""The maximum number of events to hold in memory before writing the events to disk"""
479
-
480
- pq_max_backpressure_sec: Annotated[
481
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
482
- ] = 30
483
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
484
-
485
433
  pq_max_file_size: Annotated[
486
434
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
487
435
  ] = "1 MB"
@@ -513,6 +461,14 @@ class OutputSentinel(BaseModel):
513
461
  ] = OutputSentinelQueueFullBehavior.BLOCK
514
462
  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."""
515
463
 
464
+ pq_mode: Annotated[
465
+ Annotated[
466
+ Optional[OutputSentinelMode], PlainValidator(validate_open_enum(False))
467
+ ],
468
+ pydantic.Field(alias="pqMode"),
469
+ ] = OutputSentinelMode.ERROR
470
+ 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."""
471
+
516
472
  pq_controls: Annotated[
517
473
  Optional[OutputSentinelPqControls], pydantic.Field(alias="pqControls")
518
474
  ] = None
@@ -528,75 +484,3 @@ class OutputSentinel(BaseModel):
528
484
 
529
485
  stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None
530
486
  r"""The name of the stream (Sentinel table) in which to store the events"""
531
-
532
- @field_serializer("failed_request_logging_mode")
533
- def serialize_failed_request_logging_mode(self, value):
534
- if isinstance(value, str):
535
- try:
536
- return models.OutputSentinelFailedRequestLoggingMode(value)
537
- except ValueError:
538
- return value
539
- return value
540
-
541
- @field_serializer("on_backpressure")
542
- def serialize_on_backpressure(self, value):
543
- if isinstance(value, str):
544
- try:
545
- return models.OutputSentinelBackpressureBehavior(value)
546
- except ValueError:
547
- return value
548
- return value
549
-
550
- @field_serializer("auth_type")
551
- def serialize_auth_type(self, value):
552
- if isinstance(value, str):
553
- try:
554
- return models.AuthType(value)
555
- except ValueError:
556
- return value
557
- return value
558
-
559
- @field_serializer("endpoint_url_configuration")
560
- def serialize_endpoint_url_configuration(self, value):
561
- if isinstance(value, str):
562
- try:
563
- return models.EndpointConfiguration(value)
564
- except ValueError:
565
- return value
566
- return value
567
-
568
- @field_serializer("format_")
569
- def serialize_format_(self, value):
570
- if isinstance(value, str):
571
- try:
572
- return models.OutputSentinelFormat(value)
573
- except ValueError:
574
- return value
575
- return value
576
-
577
- @field_serializer("pq_mode")
578
- def serialize_pq_mode(self, value):
579
- if isinstance(value, str):
580
- try:
581
- return models.OutputSentinelMode(value)
582
- except ValueError:
583
- return value
584
- return value
585
-
586
- @field_serializer("pq_compress")
587
- def serialize_pq_compress(self, value):
588
- if isinstance(value, str):
589
- try:
590
- return models.OutputSentinelCompression(value)
591
- except ValueError:
592
- return value
593
- return value
594
-
595
- @field_serializer("pq_on_backpressure")
596
- def serialize_pq_on_backpressure(self, value):
597
- if isinstance(value, str):
598
- try:
599
- return models.OutputSentinelQueueFullBehavior(value)
600
- except ValueError:
601
- return value
602
- return value
@@ -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 models, utils
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
@@ -51,11 +50,8 @@ class OutputSentinelOneAiSiemFailedRequestLoggingMode(
51
50
  ):
52
51
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
53
52
 
54
- # Payload
55
53
  PAYLOAD = "payload"
56
- # Payload + Headers
57
54
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
58
- # None
59
55
  NONE = "none"
60
56
 
61
57
 
@@ -127,43 +123,33 @@ class OutputSentinelOneAiSiemBackpressureBehavior(
127
123
  ):
128
124
  r"""How to handle events when all receivers are exerting backpressure"""
129
125
 
130
- # Block
131
126
  BLOCK = "block"
132
- # Drop
133
127
  DROP = "drop"
134
- # Persistent Queue
135
128
  QUEUE = "queue"
136
129
 
137
130
 
138
- class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
139
- 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."""
140
-
141
- # Error
142
- ERROR = "error"
143
- # Backpressure
144
- ALWAYS = "always"
145
- # Always On
146
- BACKPRESSURE = "backpressure"
147
-
148
-
149
131
  class OutputSentinelOneAiSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
150
132
  r"""Codec to use to compress the persisted data"""
151
133
 
152
- # None
153
134
  NONE = "none"
154
- # Gzip
155
135
  GZIP = "gzip"
156
136
 
157
137
 
158
138
  class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
159
139
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
160
140
 
161
- # Block
162
141
  BLOCK = "block"
163
- # Drop new data
164
142
  DROP = "drop"
165
143
 
166
144
 
145
+ class OutputSentinelOneAiSiemMode(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 = "error"
149
+ BACKPRESSURE = "backpressure"
150
+ ALWAYS = "always"
151
+
152
+
167
153
  class OutputSentinelOneAiSiemPqControlsTypedDict(TypedDict):
168
154
  pass
169
155
 
@@ -263,16 +249,6 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
263
249
  r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl."""
264
250
  event_type: NotRequired[str]
265
251
  r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty."""
266
- pq_strict_ordering: NotRequired[bool]
267
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
268
- pq_rate_per_sec: NotRequired[float]
269
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
270
- pq_mode: NotRequired[OutputSentinelOneAiSiemMode]
271
- 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."""
272
- pq_max_buffer_size: NotRequired[float]
273
- r"""The maximum number of events to hold in memory before writing the events to disk"""
274
- pq_max_backpressure_sec: NotRequired[float]
275
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
276
252
  pq_max_file_size: NotRequired[str]
277
253
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
278
254
  pq_max_size: NotRequired[str]
@@ -283,6 +259,8 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
283
259
  r"""Codec to use to compress the persisted data"""
284
260
  pq_on_backpressure: NotRequired[OutputSentinelOneAiSiemQueueFullBehavior]
285
261
  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."""
262
+ pq_mode: NotRequired[OutputSentinelOneAiSiemMode]
263
+ 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."""
286
264
  pq_controls: NotRequired[OutputSentinelOneAiSiemPqControlsTypedDict]
287
265
 
288
266
 
@@ -480,35 +458,6 @@ class OutputSentinelOneAiSiem(BaseModel):
480
458
  event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = ""
481
459
  r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty."""
482
460
 
483
- pq_strict_ordering: Annotated[
484
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
485
- ] = True
486
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
487
-
488
- pq_rate_per_sec: Annotated[
489
- Optional[float], pydantic.Field(alias="pqRatePerSec")
490
- ] = 0
491
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
492
-
493
- pq_mode: Annotated[
494
- Annotated[
495
- Optional[OutputSentinelOneAiSiemMode],
496
- PlainValidator(validate_open_enum(False)),
497
- ],
498
- pydantic.Field(alias="pqMode"),
499
- ] = OutputSentinelOneAiSiemMode.ERROR
500
- 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."""
501
-
502
- pq_max_buffer_size: Annotated[
503
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
504
- ] = 42
505
- r"""The maximum number of events to hold in memory before writing the events to disk"""
506
-
507
- pq_max_backpressure_sec: Annotated[
508
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
509
- ] = 30
510
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
511
-
512
461
  pq_max_file_size: Annotated[
513
462
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
514
463
  ] = "1 MB"
@@ -540,78 +489,15 @@ class OutputSentinelOneAiSiem(BaseModel):
540
489
  ] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
541
490
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
542
491
 
492
+ pq_mode: Annotated[
493
+ Annotated[
494
+ Optional[OutputSentinelOneAiSiemMode],
495
+ PlainValidator(validate_open_enum(False)),
496
+ ],
497
+ pydantic.Field(alias="pqMode"),
498
+ ] = OutputSentinelOneAiSiemMode.ERROR
499
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
500
+
543
501
  pq_controls: Annotated[
544
502
  Optional[OutputSentinelOneAiSiemPqControls], pydantic.Field(alias="pqControls")
545
503
  ] = None
546
-
547
- @field_serializer("region")
548
- def serialize_region(self, value):
549
- if isinstance(value, str):
550
- try:
551
- return models.OutputSentinelOneAiSiemRegion(value)
552
- except ValueError:
553
- return value
554
- return value
555
-
556
- @field_serializer("endpoint")
557
- def serialize_endpoint(self, value):
558
- if isinstance(value, str):
559
- try:
560
- return models.AISIEMEndpointPath(value)
561
- except ValueError:
562
- return value
563
- return value
564
-
565
- @field_serializer("failed_request_logging_mode")
566
- def serialize_failed_request_logging_mode(self, value):
567
- if isinstance(value, str):
568
- try:
569
- return models.OutputSentinelOneAiSiemFailedRequestLoggingMode(value)
570
- except ValueError:
571
- return value
572
- return value
573
-
574
- @field_serializer("auth_type")
575
- def serialize_auth_type(self, value):
576
- if isinstance(value, str):
577
- try:
578
- return models.OutputSentinelOneAiSiemAuthenticationMethod(value)
579
- except ValueError:
580
- return value
581
- return value
582
-
583
- @field_serializer("on_backpressure")
584
- def serialize_on_backpressure(self, value):
585
- if isinstance(value, str):
586
- try:
587
- return models.OutputSentinelOneAiSiemBackpressureBehavior(value)
588
- except ValueError:
589
- return value
590
- return value
591
-
592
- @field_serializer("pq_mode")
593
- def serialize_pq_mode(self, value):
594
- if isinstance(value, str):
595
- try:
596
- return models.OutputSentinelOneAiSiemMode(value)
597
- except ValueError:
598
- return value
599
- return value
600
-
601
- @field_serializer("pq_compress")
602
- def serialize_pq_compress(self, value):
603
- if isinstance(value, str):
604
- try:
605
- return models.OutputSentinelOneAiSiemCompression(value)
606
- except ValueError:
607
- return value
608
- return value
609
-
610
- @field_serializer("pq_on_backpressure")
611
- def serialize_pq_on_backpressure(self, value):
612
- if isinstance(value, str):
613
- try:
614
- return models.OutputSentinelOneAiSiemQueueFullBehavior(value)
615
- except ValueError:
616
- return value
617
- return value