cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__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 (158) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/lakedatasets.py +28 -0
  4. cribl_control_plane/models/__init__.py +124 -5
  5. cribl_control_plane/models/cacheconnection.py +20 -0
  6. cribl_control_plane/models/configgroup.py +20 -1
  7. cribl_control_plane/models/configgroupcloud.py +11 -1
  8. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  9. cribl_control_plane/models/cribllakedataset.py +15 -1
  10. cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
  11. cribl_control_plane/models/datasetmetadata.py +11 -1
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  17. cribl_control_plane/models/getsummaryop.py +11 -0
  18. cribl_control_plane/models/groupcreaterequest.py +20 -1
  19. cribl_control_plane/models/hbcriblinfo.py +11 -1
  20. cribl_control_plane/models/healthserverstatus.py +20 -1
  21. cribl_control_plane/models/input.py +15 -15
  22. cribl_control_plane/models/inputappscope.py +76 -17
  23. cribl_control_plane/models/inputazureblob.py +29 -1
  24. cribl_control_plane/models/inputcollection.py +20 -1
  25. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  26. cribl_control_plane/models/inputcribl.py +20 -1
  27. cribl_control_plane/models/inputcriblhttp.py +58 -17
  28. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  29. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  30. cribl_control_plane/models/inputcribltcp.py +58 -17
  31. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  32. cribl_control_plane/models/inputdatadogagent.py +58 -17
  33. cribl_control_plane/models/inputdatagen.py +20 -1
  34. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  35. cribl_control_plane/models/inputelastic.py +108 -27
  36. cribl_control_plane/models/inputeventhub.py +176 -1
  37. cribl_control_plane/models/inputexec.py +29 -1
  38. cribl_control_plane/models/inputfile.py +40 -7
  39. cribl_control_plane/models/inputfirehose.py +58 -17
  40. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  41. cribl_control_plane/models/inputgrafana.py +149 -32
  42. cribl_control_plane/models/inputhttp.py +58 -17
  43. cribl_control_plane/models/inputhttpraw.py +58 -17
  44. cribl_control_plane/models/inputjournalfiles.py +20 -1
  45. cribl_control_plane/models/inputkafka.py +182 -1
  46. cribl_control_plane/models/inputkinesis.py +65 -1
  47. cribl_control_plane/models/inputkubeevents.py +20 -1
  48. cribl_control_plane/models/inputkubelogs.py +29 -1
  49. cribl_control_plane/models/inputkubemetrics.py +29 -1
  50. cribl_control_plane/models/inputloki.py +67 -17
  51. cribl_control_plane/models/inputmetrics.py +58 -17
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  53. cribl_control_plane/models/inputmsk.py +74 -1
  54. cribl_control_plane/models/inputnetflow.py +20 -1
  55. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  56. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  57. cribl_control_plane/models/inputoffice365service.py +56 -1
  58. cribl_control_plane/models/inputopentelemetry.py +84 -16
  59. cribl_control_plane/models/inputprometheus.py +131 -37
  60. cribl_control_plane/models/inputprometheusrw.py +67 -17
  61. cribl_control_plane/models/inputrawudp.py +20 -1
  62. cribl_control_plane/models/inputs3.py +38 -1
  63. cribl_control_plane/models/inputs3inventory.py +47 -1
  64. cribl_control_plane/models/inputsecuritylake.py +47 -1
  65. cribl_control_plane/models/inputsnmp.py +29 -1
  66. cribl_control_plane/models/inputsplunk.py +76 -17
  67. cribl_control_plane/models/inputsplunkhec.py +66 -16
  68. cribl_control_plane/models/inputsplunksearch.py +56 -1
  69. cribl_control_plane/models/inputsqs.py +47 -1
  70. cribl_control_plane/models/inputsyslog.py +113 -32
  71. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  72. cribl_control_plane/models/inputsystemstate.py +29 -1
  73. cribl_control_plane/models/inputtcp.py +77 -17
  74. cribl_control_plane/models/inputtcpjson.py +67 -17
  75. cribl_control_plane/models/inputwef.py +65 -1
  76. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  77. cribl_control_plane/models/inputwineventlogs.py +52 -1
  78. cribl_control_plane/models/inputwiz.py +38 -1
  79. cribl_control_plane/models/inputwizwebhook.py +58 -17
  80. cribl_control_plane/models/inputzscalerhec.py +66 -16
  81. cribl_control_plane/models/jobinfo.py +10 -4
  82. cribl_control_plane/models/jobstatus.py +34 -3
  83. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  84. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  85. cribl_control_plane/models/masterworkerentry.py +11 -1
  86. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  87. cribl_control_plane/models/output.py +21 -21
  88. cribl_control_plane/models/outputazureblob.py +90 -1
  89. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  90. cribl_control_plane/models/outputazureeventhub.py +267 -22
  91. cribl_control_plane/models/outputazurelogs.py +105 -22
  92. cribl_control_plane/models/outputchronicle.py +105 -22
  93. cribl_control_plane/models/outputclickhouse.py +141 -22
  94. cribl_control_plane/models/outputcloudwatch.py +96 -22
  95. cribl_control_plane/models/outputconfluentcloud.py +292 -23
  96. cribl_control_plane/models/outputcriblhttp.py +123 -22
  97. cribl_control_plane/models/outputcribllake.py +76 -1
  98. cribl_control_plane/models/outputcribltcp.py +123 -22
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  100. cribl_control_plane/models/outputdatabricks.py +76 -5
  101. cribl_control_plane/models/outputdatadog.py +132 -22
  102. cribl_control_plane/models/outputdataset.py +123 -22
  103. cribl_control_plane/models/outputdiskspool.py +11 -1
  104. cribl_control_plane/models/outputdls3.py +117 -1
  105. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  106. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  107. cribl_control_plane/models/outputelastic.py +148 -22
  108. cribl_control_plane/models/outputelasticcloud.py +130 -22
  109. cribl_control_plane/models/outputexabeam.py +47 -1
  110. cribl_control_plane/models/outputfilesystem.py +72 -1
  111. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  112. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  113. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  114. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  115. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  116. cribl_control_plane/models/outputgraphite.py +96 -22
  117. cribl_control_plane/models/outputhoneycomb.py +105 -22
  118. cribl_control_plane/models/outputhumiohec.py +114 -22
  119. cribl_control_plane/models/outputinfluxdb.py +114 -22
  120. cribl_control_plane/models/outputkafka.py +283 -20
  121. cribl_control_plane/models/outputkinesis.py +121 -22
  122. cribl_control_plane/models/outputloki.py +112 -20
  123. cribl_control_plane/models/outputminio.py +117 -1
  124. cribl_control_plane/models/outputmsk.py +175 -20
  125. cribl_control_plane/models/outputnewrelic.py +123 -22
  126. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  127. cribl_control_plane/models/outputopentelemetry.py +159 -22
  128. cribl_control_plane/models/outputprometheus.py +105 -22
  129. cribl_control_plane/models/outputring.py +29 -1
  130. cribl_control_plane/models/outputs3.py +117 -1
  131. cribl_control_plane/models/outputsecuritylake.py +85 -1
  132. cribl_control_plane/models/outputsentinel.py +123 -22
  133. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  134. cribl_control_plane/models/outputservicenow.py +150 -22
  135. cribl_control_plane/models/outputsignalfx.py +105 -22
  136. cribl_control_plane/models/outputsns.py +103 -20
  137. cribl_control_plane/models/outputsplunk.py +141 -22
  138. cribl_control_plane/models/outputsplunkhec.py +198 -22
  139. cribl_control_plane/models/outputsplunklb.py +170 -22
  140. cribl_control_plane/models/outputsqs.py +112 -20
  141. cribl_control_plane/models/outputstatsd.py +96 -22
  142. cribl_control_plane/models/outputstatsdext.py +96 -22
  143. cribl_control_plane/models/outputsumologic.py +105 -22
  144. cribl_control_plane/models/outputsyslog.py +238 -99
  145. cribl_control_plane/models/outputtcpjson.py +132 -22
  146. cribl_control_plane/models/outputwavefront.py +105 -22
  147. cribl_control_plane/models/outputwebhook.py +141 -22
  148. cribl_control_plane/models/outputxsiam.py +103 -20
  149. cribl_control_plane/models/resourcepolicy.py +11 -0
  150. cribl_control_plane/models/runnablejobcollection.py +68 -9
  151. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  155. cribl_control_plane/sdk.py +2 -2
  156. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
  157. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
  158. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
@@ -1,11 +1,12 @@
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 utils
4
+ from cribl_control_plane import models, 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
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -134,6 +135,17 @@ class OutputSentinelOneAiSiemBackpressureBehavior(
134
135
  QUEUE = "queue"
135
136
 
136
137
 
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
+
137
149
  class OutputSentinelOneAiSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
138
150
  r"""Codec to use to compress the persisted data"""
139
151
 
@@ -152,17 +164,6 @@ class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum, metaclass=utils.OpenEn
152
164
  DROP = "drop"
153
165
 
154
166
 
155
- class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
- 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."""
157
-
158
- # Error
159
- ERROR = "error"
160
- # Backpressure
161
- BACKPRESSURE = "backpressure"
162
- # Always On
163
- ALWAYS = "always"
164
-
165
-
166
167
  class OutputSentinelOneAiSiemPqControlsTypedDict(TypedDict):
167
168
  pass
168
169
 
@@ -262,6 +263,16 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
262
263
  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."""
263
264
  event_type: NotRequired[str]
264
265
  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"""
265
276
  pq_max_file_size: NotRequired[str]
266
277
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
267
278
  pq_max_size: NotRequired[str]
@@ -272,8 +283,6 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
272
283
  r"""Codec to use to compress the persisted data"""
273
284
  pq_on_backpressure: NotRequired[OutputSentinelOneAiSiemQueueFullBehavior]
274
285
  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."""
275
- pq_mode: NotRequired[OutputSentinelOneAiSiemMode]
276
- 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."""
277
286
  pq_controls: NotRequired[OutputSentinelOneAiSiemPqControlsTypedDict]
278
287
 
279
288
 
@@ -471,6 +480,35 @@ class OutputSentinelOneAiSiem(BaseModel):
471
480
  event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = ""
472
481
  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."""
473
482
 
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
+
474
512
  pq_max_file_size: Annotated[
475
513
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
476
514
  ] = "1 MB"
@@ -502,15 +540,78 @@ class OutputSentinelOneAiSiem(BaseModel):
502
540
  ] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
503
541
  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."""
504
542
 
505
- pq_mode: Annotated[
506
- Annotated[
507
- Optional[OutputSentinelOneAiSiemMode],
508
- PlainValidator(validate_open_enum(False)),
509
- ],
510
- pydantic.Field(alias="pqMode"),
511
- ] = OutputSentinelOneAiSiemMode.ERROR
512
- 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."""
513
-
514
543
  pq_controls: Annotated[
515
544
  Optional[OutputSentinelOneAiSiemPqControls], pydantic.Field(alias="pqControls")
516
545
  ] = 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
@@ -1,11 +1,12 @@
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 utils
4
+ from cribl_control_plane import models, 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
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -226,6 +227,35 @@ class OutputServiceNowTLSSettingsClientSide(BaseModel):
226
227
  pydantic.Field(alias="maxVersion"),
227
228
  ] = None
228
229
 
230
+ @field_serializer("min_version")
231
+ def serialize_min_version(self, value):
232
+ if isinstance(value, str):
233
+ try:
234
+ return models.OutputServiceNowMinimumTLSVersion(value)
235
+ except ValueError:
236
+ return value
237
+ return value
238
+
239
+ @field_serializer("max_version")
240
+ def serialize_max_version(self, value):
241
+ if isinstance(value, str):
242
+ try:
243
+ return models.OutputServiceNowMaximumTLSVersion(value)
244
+ except ValueError:
245
+ return value
246
+ return value
247
+
248
+
249
+ class OutputServiceNowMode(str, Enum, metaclass=utils.OpenEnumMeta):
250
+ 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."""
251
+
252
+ # Error
253
+ ERROR = "error"
254
+ # Backpressure
255
+ ALWAYS = "always"
256
+ # Always On
257
+ BACKPRESSURE = "backpressure"
258
+
229
259
 
230
260
  class OutputServiceNowPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
231
261
  r"""Codec to use to compress the persisted data"""
@@ -245,17 +275,6 @@ class OutputServiceNowQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta)
245
275
  DROP = "drop"
246
276
 
247
277
 
248
- class OutputServiceNowMode(str, Enum, metaclass=utils.OpenEnumMeta):
249
- 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."""
250
-
251
- # Error
252
- ERROR = "error"
253
- # Backpressure
254
- BACKPRESSURE = "backpressure"
255
- # Always On
256
- ALWAYS = "always"
257
-
258
-
259
278
  class OutputServiceNowPqControlsTypedDict(TypedDict):
260
279
  pass
261
280
 
@@ -335,6 +354,16 @@ class OutputServiceNowTypedDict(TypedDict):
335
354
  response_honor_retry_after_header: NotRequired[bool]
336
355
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
337
356
  tls: NotRequired[OutputServiceNowTLSSettingsClientSideTypedDict]
357
+ pq_strict_ordering: NotRequired[bool]
358
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
359
+ pq_rate_per_sec: NotRequired[float]
360
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
361
+ pq_mode: NotRequired[OutputServiceNowMode]
362
+ 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."""
363
+ pq_max_buffer_size: NotRequired[float]
364
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
365
+ pq_max_backpressure_sec: NotRequired[float]
366
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
338
367
  pq_max_file_size: NotRequired[str]
339
368
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
340
369
  pq_max_size: NotRequired[str]
@@ -345,8 +374,6 @@ class OutputServiceNowTypedDict(TypedDict):
345
374
  r"""Codec to use to compress the persisted data"""
346
375
  pq_on_backpressure: NotRequired[OutputServiceNowQueueFullBehavior]
347
376
  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."""
348
- pq_mode: NotRequired[OutputServiceNowMode]
349
- 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."""
350
377
  pq_controls: NotRequired[OutputServiceNowPqControlsTypedDict]
351
378
 
352
379
 
@@ -518,6 +545,34 @@ class OutputServiceNow(BaseModel):
518
545
 
519
546
  tls: Optional[OutputServiceNowTLSSettingsClientSide] = None
520
547
 
548
+ pq_strict_ordering: Annotated[
549
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
550
+ ] = True
551
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
552
+
553
+ pq_rate_per_sec: Annotated[
554
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
555
+ ] = 0
556
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
557
+
558
+ pq_mode: Annotated[
559
+ Annotated[
560
+ Optional[OutputServiceNowMode], PlainValidator(validate_open_enum(False))
561
+ ],
562
+ pydantic.Field(alias="pqMode"),
563
+ ] = OutputServiceNowMode.ERROR
564
+ 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."""
565
+
566
+ pq_max_buffer_size: Annotated[
567
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
568
+ ] = 42
569
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
570
+
571
+ pq_max_backpressure_sec: Annotated[
572
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
573
+ ] = 30
574
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
575
+
521
576
  pq_max_file_size: Annotated[
522
577
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
523
578
  ] = "1 MB"
@@ -549,14 +604,87 @@ class OutputServiceNow(BaseModel):
549
604
  ] = OutputServiceNowQueueFullBehavior.BLOCK
550
605
  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."""
551
606
 
552
- pq_mode: Annotated[
553
- Annotated[
554
- Optional[OutputServiceNowMode], PlainValidator(validate_open_enum(False))
555
- ],
556
- pydantic.Field(alias="pqMode"),
557
- ] = OutputServiceNowMode.ERROR
558
- 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."""
559
-
560
607
  pq_controls: Annotated[
561
608
  Optional[OutputServiceNowPqControls], pydantic.Field(alias="pqControls")
562
609
  ] = None
610
+
611
+ @field_serializer("otlp_version")
612
+ def serialize_otlp_version(self, value):
613
+ if isinstance(value, str):
614
+ try:
615
+ return models.OutputServiceNowOTLPVersion(value)
616
+ except ValueError:
617
+ return value
618
+ return value
619
+
620
+ @field_serializer("protocol")
621
+ def serialize_protocol(self, value):
622
+ if isinstance(value, str):
623
+ try:
624
+ return models.OutputServiceNowProtocol(value)
625
+ except ValueError:
626
+ return value
627
+ return value
628
+
629
+ @field_serializer("compress")
630
+ def serialize_compress(self, value):
631
+ if isinstance(value, str):
632
+ try:
633
+ return models.OutputServiceNowCompressCompression(value)
634
+ except ValueError:
635
+ return value
636
+ return value
637
+
638
+ @field_serializer("http_compress")
639
+ def serialize_http_compress(self, value):
640
+ if isinstance(value, str):
641
+ try:
642
+ return models.OutputServiceNowHTTPCompressCompression(value)
643
+ except ValueError:
644
+ return value
645
+ return value
646
+
647
+ @field_serializer("failed_request_logging_mode")
648
+ def serialize_failed_request_logging_mode(self, value):
649
+ if isinstance(value, str):
650
+ try:
651
+ return models.OutputServiceNowFailedRequestLoggingMode(value)
652
+ except ValueError:
653
+ return value
654
+ return value
655
+
656
+ @field_serializer("on_backpressure")
657
+ def serialize_on_backpressure(self, value):
658
+ if isinstance(value, str):
659
+ try:
660
+ return models.OutputServiceNowBackpressureBehavior(value)
661
+ except ValueError:
662
+ return value
663
+ return value
664
+
665
+ @field_serializer("pq_mode")
666
+ def serialize_pq_mode(self, value):
667
+ if isinstance(value, str):
668
+ try:
669
+ return models.OutputServiceNowMode(value)
670
+ except ValueError:
671
+ return value
672
+ return value
673
+
674
+ @field_serializer("pq_compress")
675
+ def serialize_pq_compress(self, value):
676
+ if isinstance(value, str):
677
+ try:
678
+ return models.OutputServiceNowPqCompressCompression(value)
679
+ except ValueError:
680
+ return value
681
+ return value
682
+
683
+ @field_serializer("pq_on_backpressure")
684
+ def serialize_pq_on_backpressure(self, value):
685
+ if isinstance(value, str):
686
+ try:
687
+ return models.OutputServiceNowQueueFullBehavior(value)
688
+ except ValueError:
689
+ return value
690
+ return value
@@ -1,11 +1,12 @@
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 utils
4
+ from cribl_control_plane import models, 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
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -109,6 +110,17 @@ class OutputSignalfxBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
109
110
  QUEUE = "queue"
110
111
 
111
112
 
113
+ class OutputSignalfxMode(str, Enum, metaclass=utils.OpenEnumMeta):
114
+ 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."""
115
+
116
+ # Error
117
+ ERROR = "error"
118
+ # Backpressure
119
+ ALWAYS = "always"
120
+ # Always On
121
+ BACKPRESSURE = "backpressure"
122
+
123
+
112
124
  class OutputSignalfxCompression(str, Enum, metaclass=utils.OpenEnumMeta):
113
125
  r"""Codec to use to compress the persisted data"""
114
126
 
@@ -127,17 +139,6 @@ class OutputSignalfxQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
127
139
  DROP = "drop"
128
140
 
129
141
 
130
- class OutputSignalfxMode(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
- BACKPRESSURE = "backpressure"
137
- # Always On
138
- ALWAYS = "always"
139
-
140
-
141
142
  class OutputSignalfxPqControlsTypedDict(TypedDict):
142
143
  pass
143
144
 
@@ -201,6 +202,16 @@ class OutputSignalfxTypedDict(TypedDict):
201
202
  r"""SignalFx API access token (see [here](https://docs.signalfx.com/en/latest/admin-guide/tokens.html#working-with-access-tokens))"""
202
203
  text_secret: NotRequired[str]
203
204
  r"""Select or create a stored text secret"""
205
+ pq_strict_ordering: NotRequired[bool]
206
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
207
+ pq_rate_per_sec: NotRequired[float]
208
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
209
+ pq_mode: NotRequired[OutputSignalfxMode]
210
+ 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."""
211
+ pq_max_buffer_size: NotRequired[float]
212
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
213
+ pq_max_backpressure_sec: NotRequired[float]
214
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
204
215
  pq_max_file_size: NotRequired[str]
205
216
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
206
217
  pq_max_size: NotRequired[str]
@@ -211,8 +222,6 @@ class OutputSignalfxTypedDict(TypedDict):
211
222
  r"""Codec to use to compress the persisted data"""
212
223
  pq_on_backpressure: NotRequired[OutputSignalfxQueueFullBehavior]
213
224
  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."""
214
- pq_mode: NotRequired[OutputSignalfxMode]
215
- 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."""
216
225
  pq_controls: NotRequired[OutputSignalfxPqControlsTypedDict]
217
226
 
218
227
 
@@ -338,6 +347,34 @@ class OutputSignalfx(BaseModel):
338
347
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
339
348
  r"""Select or create a stored text secret"""
340
349
 
350
+ pq_strict_ordering: Annotated[
351
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
352
+ ] = True
353
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
354
+
355
+ pq_rate_per_sec: Annotated[
356
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
357
+ ] = 0
358
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
359
+
360
+ pq_mode: Annotated[
361
+ Annotated[
362
+ Optional[OutputSignalfxMode], PlainValidator(validate_open_enum(False))
363
+ ],
364
+ pydantic.Field(alias="pqMode"),
365
+ ] = OutputSignalfxMode.ERROR
366
+ 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."""
367
+
368
+ pq_max_buffer_size: Annotated[
369
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
370
+ ] = 42
371
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
372
+
373
+ pq_max_backpressure_sec: Annotated[
374
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
375
+ ] = 30
376
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
377
+
341
378
  pq_max_file_size: Annotated[
342
379
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
343
380
  ] = "1 MB"
@@ -369,14 +406,60 @@ class OutputSignalfx(BaseModel):
369
406
  ] = OutputSignalfxQueueFullBehavior.BLOCK
370
407
  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."""
371
408
 
372
- pq_mode: Annotated[
373
- Annotated[
374
- Optional[OutputSignalfxMode], PlainValidator(validate_open_enum(False))
375
- ],
376
- pydantic.Field(alias="pqMode"),
377
- ] = OutputSignalfxMode.ERROR
378
- 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."""
379
-
380
409
  pq_controls: Annotated[
381
410
  Optional[OutputSignalfxPqControls], pydantic.Field(alias="pqControls")
382
411
  ] = None
412
+
413
+ @field_serializer("auth_type")
414
+ def serialize_auth_type(self, value):
415
+ if isinstance(value, str):
416
+ try:
417
+ return models.OutputSignalfxAuthenticationMethod(value)
418
+ except ValueError:
419
+ return value
420
+ return value
421
+
422
+ @field_serializer("failed_request_logging_mode")
423
+ def serialize_failed_request_logging_mode(self, value):
424
+ if isinstance(value, str):
425
+ try:
426
+ return models.OutputSignalfxFailedRequestLoggingMode(value)
427
+ except ValueError:
428
+ return value
429
+ return value
430
+
431
+ @field_serializer("on_backpressure")
432
+ def serialize_on_backpressure(self, value):
433
+ if isinstance(value, str):
434
+ try:
435
+ return models.OutputSignalfxBackpressureBehavior(value)
436
+ except ValueError:
437
+ return value
438
+ return value
439
+
440
+ @field_serializer("pq_mode")
441
+ def serialize_pq_mode(self, value):
442
+ if isinstance(value, str):
443
+ try:
444
+ return models.OutputSignalfxMode(value)
445
+ except ValueError:
446
+ return value
447
+ return value
448
+
449
+ @field_serializer("pq_compress")
450
+ def serialize_pq_compress(self, value):
451
+ if isinstance(value, str):
452
+ try:
453
+ return models.OutputSignalfxCompression(value)
454
+ except ValueError:
455
+ return value
456
+ return value
457
+
458
+ @field_serializer("pq_on_backpressure")
459
+ def serialize_pq_on_backpressure(self, value):
460
+ if isinstance(value, str):
461
+ try:
462
+ return models.OutputSignalfxQueueFullBehavior(value)
463
+ except ValueError:
464
+ return value
465
+ return value