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
@@ -32,11 +31,8 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
32
31
  ):
33
32
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
34
33
 
35
- # Payload
36
34
  PAYLOAD = "payload"
37
- # Payload + Headers
38
35
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
39
- # None
40
36
  NONE = "none"
41
37
 
42
38
 
@@ -45,9 +41,7 @@ class OutputCrowdstrikeNextGenSiemRequestFormat(
45
41
  ):
46
42
  r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
47
43
 
48
- # JSON
49
44
  JSON = "JSON"
50
- # Raw
51
45
  RAW = "raw"
52
46
 
53
47
 
@@ -119,31 +113,15 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
119
113
  ):
120
114
  r"""How to handle events when all receivers are exerting backpressure"""
121
115
 
122
- # Block
123
116
  BLOCK = "block"
124
- # Drop
125
117
  DROP = "drop"
126
- # Persistent Queue
127
118
  QUEUE = "queue"
128
119
 
129
120
 
130
- class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
131
- 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."""
132
-
133
- # Error
134
- ERROR = "error"
135
- # Backpressure
136
- ALWAYS = "always"
137
- # Always On
138
- BACKPRESSURE = "backpressure"
139
-
140
-
141
121
  class OutputCrowdstrikeNextGenSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
142
122
  r"""Codec to use to compress the persisted data"""
143
123
 
144
- # None
145
124
  NONE = "none"
146
- # Gzip
147
125
  GZIP = "gzip"
148
126
 
149
127
 
@@ -152,12 +130,18 @@ class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
152
130
  ):
153
131
  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."""
154
132
 
155
- # Block
156
133
  BLOCK = "block"
157
- # Drop new data
158
134
  DROP = "drop"
159
135
 
160
136
 
137
+ class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
138
+ 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."""
139
+
140
+ ERROR = "error"
141
+ BACKPRESSURE = "backpressure"
142
+ ALWAYS = "always"
143
+
144
+
161
145
  class OutputCrowdstrikeNextGenSiemPqControlsTypedDict(TypedDict):
162
146
  pass
163
147
 
@@ -230,16 +214,6 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict):
230
214
  token: NotRequired[str]
231
215
  text_secret: NotRequired[str]
232
216
  r"""Select or create a stored text secret"""
233
- pq_strict_ordering: NotRequired[bool]
234
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
235
- pq_rate_per_sec: NotRequired[float]
236
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
237
- pq_mode: NotRequired[OutputCrowdstrikeNextGenSiemMode]
238
- 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."""
239
- pq_max_buffer_size: NotRequired[float]
240
- r"""The maximum number of events to hold in memory before writing the events to disk"""
241
- pq_max_backpressure_sec: NotRequired[float]
242
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
243
217
  pq_max_file_size: NotRequired[str]
244
218
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
245
219
  pq_max_size: NotRequired[str]
@@ -250,6 +224,8 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict):
250
224
  r"""Codec to use to compress the persisted data"""
251
225
  pq_on_backpressure: NotRequired[OutputCrowdstrikeNextGenSiemQueueFullBehavior]
252
226
  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."""
227
+ pq_mode: NotRequired[OutputCrowdstrikeNextGenSiemMode]
228
+ 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."""
253
229
  pq_controls: NotRequired[OutputCrowdstrikeNextGenSiemPqControlsTypedDict]
254
230
 
255
231
 
@@ -385,35 +361,6 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
385
361
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
386
362
  r"""Select or create a stored text secret"""
387
363
 
388
- pq_strict_ordering: Annotated[
389
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
390
- ] = True
391
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
392
-
393
- pq_rate_per_sec: Annotated[
394
- Optional[float], pydantic.Field(alias="pqRatePerSec")
395
- ] = 0
396
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
397
-
398
- pq_mode: Annotated[
399
- Annotated[
400
- Optional[OutputCrowdstrikeNextGenSiemMode],
401
- PlainValidator(validate_open_enum(False)),
402
- ],
403
- pydantic.Field(alias="pqMode"),
404
- ] = OutputCrowdstrikeNextGenSiemMode.ERROR
405
- 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."""
406
-
407
- pq_max_buffer_size: Annotated[
408
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
409
- ] = 42
410
- r"""The maximum number of events to hold in memory before writing the events to disk"""
411
-
412
- pq_max_backpressure_sec: Annotated[
413
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
414
- ] = 30
415
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
416
-
417
364
  pq_max_file_size: Annotated[
418
365
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
419
366
  ] = "1 MB"
@@ -445,72 +392,16 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
445
392
  ] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
446
393
  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."""
447
394
 
395
+ pq_mode: Annotated[
396
+ Annotated[
397
+ Optional[OutputCrowdstrikeNextGenSiemMode],
398
+ PlainValidator(validate_open_enum(False)),
399
+ ],
400
+ pydantic.Field(alias="pqMode"),
401
+ ] = OutputCrowdstrikeNextGenSiemMode.ERROR
402
+ 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."""
403
+
448
404
  pq_controls: Annotated[
449
405
  Optional[OutputCrowdstrikeNextGenSiemPqControls],
450
406
  pydantic.Field(alias="pqControls"),
451
407
  ] = None
452
-
453
- @field_serializer("failed_request_logging_mode")
454
- def serialize_failed_request_logging_mode(self, value):
455
- if isinstance(value, str):
456
- try:
457
- return models.OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
458
- value
459
- )
460
- except ValueError:
461
- return value
462
- return value
463
-
464
- @field_serializer("format_")
465
- def serialize_format_(self, value):
466
- if isinstance(value, str):
467
- try:
468
- return models.OutputCrowdstrikeNextGenSiemRequestFormat(value)
469
- except ValueError:
470
- return value
471
- return value
472
-
473
- @field_serializer("auth_type")
474
- def serialize_auth_type(self, value):
475
- if isinstance(value, str):
476
- try:
477
- return models.OutputCrowdstrikeNextGenSiemAuthenticationMethod(value)
478
- except ValueError:
479
- return value
480
- return value
481
-
482
- @field_serializer("on_backpressure")
483
- def serialize_on_backpressure(self, value):
484
- if isinstance(value, str):
485
- try:
486
- return models.OutputCrowdstrikeNextGenSiemBackpressureBehavior(value)
487
- except ValueError:
488
- return value
489
- return value
490
-
491
- @field_serializer("pq_mode")
492
- def serialize_pq_mode(self, value):
493
- if isinstance(value, str):
494
- try:
495
- return models.OutputCrowdstrikeNextGenSiemMode(value)
496
- except ValueError:
497
- return value
498
- return value
499
-
500
- @field_serializer("pq_compress")
501
- def serialize_pq_compress(self, value):
502
- if isinstance(value, str):
503
- try:
504
- return models.OutputCrowdstrikeNextGenSiemCompression(value)
505
- except ValueError:
506
- return value
507
- return value
508
-
509
- @field_serializer("pq_on_backpressure")
510
- def serialize_pq_on_backpressure(self, value):
511
- if isinstance(value, str):
512
- try:
513
- return models.OutputCrowdstrikeNextGenSiemQueueFullBehavior(value)
514
- except ValueError:
515
- return value
516
- 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
@@ -19,49 +18,32 @@ class OutputDatadogType(str, Enum):
19
18
  class SendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta):
20
19
  r"""The content type to use when sending logs"""
21
20
 
22
- # text/plain
23
21
  TEXT = "text"
24
- # application/json
25
22
  JSON = "json"
26
23
 
27
24
 
28
25
  class OutputDatadogSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
29
26
  r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value."""
30
27
 
31
- # emergency
32
28
  EMERGENCY = "emergency"
33
- # alert
34
29
  ALERT = "alert"
35
- # critical
36
30
  CRITICAL = "critical"
37
- # error
38
31
  ERROR = "error"
39
- # warning
40
32
  WARNING = "warning"
41
- # notice
42
33
  NOTICE = "notice"
43
- # info
44
34
  INFO = "info"
45
- # debug
46
35
  DEBUG = "debug"
47
36
 
48
37
 
49
38
  class DatadogSite(str, Enum, metaclass=utils.OpenEnumMeta):
50
39
  r"""Datadog site to which events should be sent"""
51
40
 
52
- # US
53
41
  US = "us"
54
- # US3
55
42
  US3 = "us3"
56
- # US5
57
43
  US5 = "us5"
58
- # Europe
59
44
  EU = "eu"
60
- # US1-FED
61
45
  FED1 = "fed1"
62
- # AP1
63
46
  AP1 = "ap1"
64
- # Custom
65
47
  CUSTOM = "custom"
66
48
 
67
49
 
@@ -79,11 +61,8 @@ class OutputDatadogExtraHTTPHeader(BaseModel):
79
61
  class OutputDatadogFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
80
62
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
81
63
 
82
- # Payload
83
64
  PAYLOAD = "payload"
84
- # Payload + Headers
85
65
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
86
- # None
87
66
  NONE = "none"
88
67
 
89
68
 
@@ -144,11 +123,8 @@ class OutputDatadogTimeoutRetrySettings(BaseModel):
144
123
  class OutputDatadogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
145
124
  r"""How to handle events when all receivers are exerting backpressure"""
146
125
 
147
- # Block
148
126
  BLOCK = "block"
149
- # Drop
150
127
  DROP = "drop"
151
- # Persistent Queue
152
128
  QUEUE = "queue"
153
129
 
154
130
 
@@ -159,35 +135,28 @@ class OutputDatadogAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta)
159
135
  SECRET = "secret"
160
136
 
161
137
 
162
- class OutputDatadogMode(str, Enum, metaclass=utils.OpenEnumMeta):
163
- 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."""
164
-
165
- # Error
166
- ERROR = "error"
167
- # Backpressure
168
- ALWAYS = "always"
169
- # Always On
170
- BACKPRESSURE = "backpressure"
171
-
172
-
173
138
  class OutputDatadogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
174
139
  r"""Codec to use to compress the persisted data"""
175
140
 
176
- # None
177
141
  NONE = "none"
178
- # Gzip
179
142
  GZIP = "gzip"
180
143
 
181
144
 
182
145
  class OutputDatadogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
183
146
  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."""
184
147
 
185
- # Block
186
148
  BLOCK = "block"
187
- # Drop new data
188
149
  DROP = "drop"
189
150
 
190
151
 
152
+ class OutputDatadogMode(str, Enum, metaclass=utils.OpenEnumMeta):
153
+ 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."""
154
+
155
+ ERROR = "error"
156
+ BACKPRESSURE = "backpressure"
157
+ ALWAYS = "always"
158
+
159
+
191
160
  class OutputDatadogPqControlsTypedDict(TypedDict):
192
161
  pass
193
162
 
@@ -270,16 +239,6 @@ class OutputDatadogTypedDict(TypedDict):
270
239
  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."""
271
240
  description: NotRequired[str]
272
241
  custom_url: NotRequired[str]
273
- pq_strict_ordering: NotRequired[bool]
274
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
275
- pq_rate_per_sec: NotRequired[float]
276
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
277
- pq_mode: NotRequired[OutputDatadogMode]
278
- 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."""
279
- pq_max_buffer_size: NotRequired[float]
280
- r"""The maximum number of events to hold in memory before writing the events to disk"""
281
- pq_max_backpressure_sec: NotRequired[float]
282
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
283
242
  pq_max_file_size: NotRequired[str]
284
243
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
285
244
  pq_max_size: NotRequired[str]
@@ -290,6 +249,8 @@ class OutputDatadogTypedDict(TypedDict):
290
249
  r"""Codec to use to compress the persisted data"""
291
250
  pq_on_backpressure: NotRequired[OutputDatadogQueueFullBehavior]
292
251
  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."""
252
+ pq_mode: NotRequired[OutputDatadogMode]
253
+ 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."""
293
254
  pq_controls: NotRequired[OutputDatadogPqControlsTypedDict]
294
255
  api_key: NotRequired[str]
295
256
  r"""Organization's API key in Datadog"""
@@ -461,34 +422,6 @@ class OutputDatadog(BaseModel):
461
422
 
462
423
  custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None
463
424
 
464
- pq_strict_ordering: Annotated[
465
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
466
- ] = True
467
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
468
-
469
- pq_rate_per_sec: Annotated[
470
- Optional[float], pydantic.Field(alias="pqRatePerSec")
471
- ] = 0
472
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
473
-
474
- pq_mode: Annotated[
475
- Annotated[
476
- Optional[OutputDatadogMode], PlainValidator(validate_open_enum(False))
477
- ],
478
- pydantic.Field(alias="pqMode"),
479
- ] = OutputDatadogMode.ERROR
480
- 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."""
481
-
482
- pq_max_buffer_size: Annotated[
483
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
484
- ] = 42
485
- r"""The maximum number of events to hold in memory before writing the events to disk"""
486
-
487
- pq_max_backpressure_sec: Annotated[
488
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
489
- ] = 30
490
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
491
-
492
425
  pq_max_file_size: Annotated[
493
426
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
494
427
  ] = "1 MB"
@@ -520,6 +453,14 @@ class OutputDatadog(BaseModel):
520
453
  ] = OutputDatadogQueueFullBehavior.BLOCK
521
454
  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."""
522
455
 
456
+ pq_mode: Annotated[
457
+ Annotated[
458
+ Optional[OutputDatadogMode], PlainValidator(validate_open_enum(False))
459
+ ],
460
+ pydantic.Field(alias="pqMode"),
461
+ ] = OutputDatadogMode.ERROR
462
+ 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."""
463
+
523
464
  pq_controls: Annotated[
524
465
  Optional[OutputDatadogPqControls], pydantic.Field(alias="pqControls")
525
466
  ] = None
@@ -529,84 +470,3 @@ class OutputDatadog(BaseModel):
529
470
 
530
471
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
531
472
  r"""Select or create a stored text secret"""
532
-
533
- @field_serializer("content_type")
534
- def serialize_content_type(self, value):
535
- if isinstance(value, str):
536
- try:
537
- return models.SendLogsAs(value)
538
- except ValueError:
539
- return value
540
- return value
541
-
542
- @field_serializer("severity")
543
- def serialize_severity(self, value):
544
- if isinstance(value, str):
545
- try:
546
- return models.OutputDatadogSeverity(value)
547
- except ValueError:
548
- return value
549
- return value
550
-
551
- @field_serializer("site")
552
- def serialize_site(self, value):
553
- if isinstance(value, str):
554
- try:
555
- return models.DatadogSite(value)
556
- except ValueError:
557
- return value
558
- return value
559
-
560
- @field_serializer("failed_request_logging_mode")
561
- def serialize_failed_request_logging_mode(self, value):
562
- if isinstance(value, str):
563
- try:
564
- return models.OutputDatadogFailedRequestLoggingMode(value)
565
- except ValueError:
566
- return value
567
- return value
568
-
569
- @field_serializer("on_backpressure")
570
- def serialize_on_backpressure(self, value):
571
- if isinstance(value, str):
572
- try:
573
- return models.OutputDatadogBackpressureBehavior(value)
574
- except ValueError:
575
- return value
576
- return value
577
-
578
- @field_serializer("auth_type")
579
- def serialize_auth_type(self, value):
580
- if isinstance(value, str):
581
- try:
582
- return models.OutputDatadogAuthenticationMethod(value)
583
- except ValueError:
584
- return value
585
- return value
586
-
587
- @field_serializer("pq_mode")
588
- def serialize_pq_mode(self, value):
589
- if isinstance(value, str):
590
- try:
591
- return models.OutputDatadogMode(value)
592
- except ValueError:
593
- return value
594
- return value
595
-
596
- @field_serializer("pq_compress")
597
- def serialize_pq_compress(self, value):
598
- if isinstance(value, str):
599
- try:
600
- return models.OutputDatadogCompression(value)
601
- except ValueError:
602
- return value
603
- return value
604
-
605
- @field_serializer("pq_on_backpressure")
606
- def serialize_pq_on_backpressure(self, value):
607
- if isinstance(value, str):
608
- try:
609
- return models.OutputDatadogQueueFullBehavior(value)
610
- except ValueError:
611
- return value
612
- return value