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, Union
11
12
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
@@ -90,6 +91,15 @@ class OutputGrafanaCloudPrometheusAuth2(BaseModel):
90
91
  ] = None
91
92
  r"""Select or create a secret that references your credentials"""
92
93
 
94
+ @field_serializer("auth_type")
95
+ def serialize_auth_type(self, value):
96
+ if isinstance(value, str):
97
+ try:
98
+ return models.OutputGrafanaCloudPrometheusAuthAuthenticationType2(value)
99
+ except ValueError:
100
+ return value
101
+ return value
102
+
93
103
 
94
104
  class OutputGrafanaCloudLokiAuthAuthenticationType2(
95
105
  str, Enum, metaclass=utils.OpenEnumMeta
@@ -146,6 +156,15 @@ class OutputGrafanaCloudLokiAuth2(BaseModel):
146
156
  ] = None
147
157
  r"""Select or create a secret that references your credentials"""
148
158
 
159
+ @field_serializer("auth_type")
160
+ def serialize_auth_type(self, value):
161
+ if isinstance(value, str):
162
+ try:
163
+ return models.OutputGrafanaCloudLokiAuthAuthenticationType2(value)
164
+ except ValueError:
165
+ return value
166
+ return value
167
+
149
168
 
150
169
  class OutputGrafanaCloudExtraHTTPHeader2TypedDict(TypedDict):
151
170
  value: str
@@ -236,6 +255,17 @@ class OutputGrafanaCloudBackpressureBehavior2(str, Enum, metaclass=utils.OpenEnu
236
255
  QUEUE = "queue"
237
256
 
238
257
 
258
+ class OutputGrafanaCloudMode2(str, Enum, metaclass=utils.OpenEnumMeta):
259
+ 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."""
260
+
261
+ # Error
262
+ ERROR = "error"
263
+ # Backpressure
264
+ ALWAYS = "always"
265
+ # Always On
266
+ BACKPRESSURE = "backpressure"
267
+
268
+
239
269
  class OutputGrafanaCloudCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
240
270
  r"""Codec to use to compress the persisted data"""
241
271
 
@@ -254,17 +284,6 @@ class OutputGrafanaCloudQueueFullBehavior2(str, Enum, metaclass=utils.OpenEnumMe
254
284
  DROP = "drop"
255
285
 
256
286
 
257
- class OutputGrafanaCloudMode2(str, Enum, metaclass=utils.OpenEnumMeta):
258
- 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."""
259
-
260
- # Error
261
- ERROR = "error"
262
- # Backpressure
263
- BACKPRESSURE = "backpressure"
264
- # Always On
265
- ALWAYS = "always"
266
-
267
-
268
287
  class OutputGrafanaCloudPqControls2TypedDict(TypedDict):
269
288
  pass
270
289
 
@@ -338,6 +357,16 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
338
357
  description: NotRequired[str]
339
358
  compress: NotRequired[bool]
340
359
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
360
+ pq_strict_ordering: NotRequired[bool]
361
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
362
+ pq_rate_per_sec: NotRequired[float]
363
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
364
+ pq_mode: NotRequired[OutputGrafanaCloudMode2]
365
+ 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."""
366
+ pq_max_buffer_size: NotRequired[float]
367
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
368
+ pq_max_backpressure_sec: NotRequired[float]
369
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
341
370
  pq_max_file_size: NotRequired[str]
342
371
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
343
372
  pq_max_size: NotRequired[str]
@@ -348,8 +377,6 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
348
377
  r"""Codec to use to compress the persisted data"""
349
378
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior2]
350
379
  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."""
351
- pq_mode: NotRequired[OutputGrafanaCloudMode2]
352
- 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."""
353
380
  pq_controls: NotRequired[OutputGrafanaCloudPqControls2TypedDict]
354
381
 
355
382
 
@@ -492,6 +519,34 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
492
519
  compress: Optional[bool] = True
493
520
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
494
521
 
522
+ pq_strict_ordering: Annotated[
523
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
524
+ ] = True
525
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
526
+
527
+ pq_rate_per_sec: Annotated[
528
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
529
+ ] = 0
530
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
531
+
532
+ pq_mode: Annotated[
533
+ Annotated[
534
+ Optional[OutputGrafanaCloudMode2], PlainValidator(validate_open_enum(False))
535
+ ],
536
+ pydantic.Field(alias="pqMode"),
537
+ ] = OutputGrafanaCloudMode2.ERROR
538
+ 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."""
539
+
540
+ pq_max_buffer_size: Annotated[
541
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
542
+ ] = 42
543
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
544
+
545
+ pq_max_backpressure_sec: Annotated[
546
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
547
+ ] = 30
548
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
549
+
495
550
  pq_max_file_size: Annotated[
496
551
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
497
552
  ] = "1 MB"
@@ -523,18 +578,64 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
523
578
  ] = OutputGrafanaCloudQueueFullBehavior2.BLOCK
524
579
  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."""
525
580
 
526
- pq_mode: Annotated[
527
- Annotated[
528
- Optional[OutputGrafanaCloudMode2], PlainValidator(validate_open_enum(False))
529
- ],
530
- pydantic.Field(alias="pqMode"),
531
- ] = OutputGrafanaCloudMode2.ERROR
532
- 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."""
533
-
534
581
  pq_controls: Annotated[
535
582
  Optional[OutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls")
536
583
  ] = None
537
584
 
585
+ @field_serializer("message_format")
586
+ def serialize_message_format(self, value):
587
+ if isinstance(value, str):
588
+ try:
589
+ return models.OutputGrafanaCloudMessageFormat2(value)
590
+ except ValueError:
591
+ return value
592
+ return value
593
+
594
+ @field_serializer("failed_request_logging_mode")
595
+ def serialize_failed_request_logging_mode(self, value):
596
+ if isinstance(value, str):
597
+ try:
598
+ return models.OutputGrafanaCloudFailedRequestLoggingMode2(value)
599
+ except ValueError:
600
+ return value
601
+ return value
602
+
603
+ @field_serializer("on_backpressure")
604
+ def serialize_on_backpressure(self, value):
605
+ if isinstance(value, str):
606
+ try:
607
+ return models.OutputGrafanaCloudBackpressureBehavior2(value)
608
+ except ValueError:
609
+ return value
610
+ return value
611
+
612
+ @field_serializer("pq_mode")
613
+ def serialize_pq_mode(self, value):
614
+ if isinstance(value, str):
615
+ try:
616
+ return models.OutputGrafanaCloudMode2(value)
617
+ except ValueError:
618
+ return value
619
+ return value
620
+
621
+ @field_serializer("pq_compress")
622
+ def serialize_pq_compress(self, value):
623
+ if isinstance(value, str):
624
+ try:
625
+ return models.OutputGrafanaCloudCompression2(value)
626
+ except ValueError:
627
+ return value
628
+ return value
629
+
630
+ @field_serializer("pq_on_backpressure")
631
+ def serialize_pq_on_backpressure(self, value):
632
+ if isinstance(value, str):
633
+ try:
634
+ return models.OutputGrafanaCloudQueueFullBehavior2(value)
635
+ except ValueError:
636
+ return value
637
+ return value
638
+
538
639
 
539
640
  class OutputGrafanaCloudType1(str, Enum):
540
641
  GRAFANA_CLOUD = "grafana_cloud"
@@ -615,6 +716,15 @@ class OutputGrafanaCloudPrometheusAuth1(BaseModel):
615
716
  ] = None
616
717
  r"""Select or create a secret that references your credentials"""
617
718
 
719
+ @field_serializer("auth_type")
720
+ def serialize_auth_type(self, value):
721
+ if isinstance(value, str):
722
+ try:
723
+ return models.OutputGrafanaCloudPrometheusAuthAuthenticationType1(value)
724
+ except ValueError:
725
+ return value
726
+ return value
727
+
618
728
 
619
729
  class OutputGrafanaCloudLokiAuthAuthenticationType1(
620
730
  str, Enum, metaclass=utils.OpenEnumMeta
@@ -671,6 +781,15 @@ class OutputGrafanaCloudLokiAuth1(BaseModel):
671
781
  ] = None
672
782
  r"""Select or create a secret that references your credentials"""
673
783
 
784
+ @field_serializer("auth_type")
785
+ def serialize_auth_type(self, value):
786
+ if isinstance(value, str):
787
+ try:
788
+ return models.OutputGrafanaCloudLokiAuthAuthenticationType1(value)
789
+ except ValueError:
790
+ return value
791
+ return value
792
+
674
793
 
675
794
  class OutputGrafanaCloudExtraHTTPHeader1TypedDict(TypedDict):
676
795
  value: str
@@ -761,6 +880,17 @@ class OutputGrafanaCloudBackpressureBehavior1(str, Enum, metaclass=utils.OpenEnu
761
880
  QUEUE = "queue"
762
881
 
763
882
 
883
+ class OutputGrafanaCloudMode1(str, Enum, metaclass=utils.OpenEnumMeta):
884
+ 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."""
885
+
886
+ # Error
887
+ ERROR = "error"
888
+ # Backpressure
889
+ ALWAYS = "always"
890
+ # Always On
891
+ BACKPRESSURE = "backpressure"
892
+
893
+
764
894
  class OutputGrafanaCloudCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
765
895
  r"""Codec to use to compress the persisted data"""
766
896
 
@@ -779,17 +909,6 @@ class OutputGrafanaCloudQueueFullBehavior1(str, Enum, metaclass=utils.OpenEnumMe
779
909
  DROP = "drop"
780
910
 
781
911
 
782
- class OutputGrafanaCloudMode1(str, Enum, metaclass=utils.OpenEnumMeta):
783
- 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."""
784
-
785
- # Error
786
- ERROR = "error"
787
- # Backpressure
788
- BACKPRESSURE = "backpressure"
789
- # Always On
790
- ALWAYS = "always"
791
-
792
-
793
912
  class OutputGrafanaCloudPqControls1TypedDict(TypedDict):
794
913
  pass
795
914
 
@@ -863,6 +982,16 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
863
982
  description: NotRequired[str]
864
983
  compress: NotRequired[bool]
865
984
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
985
+ pq_strict_ordering: NotRequired[bool]
986
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
987
+ pq_rate_per_sec: NotRequired[float]
988
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
989
+ pq_mode: NotRequired[OutputGrafanaCloudMode1]
990
+ 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."""
991
+ pq_max_buffer_size: NotRequired[float]
992
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
993
+ pq_max_backpressure_sec: NotRequired[float]
994
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
866
995
  pq_max_file_size: NotRequired[str]
867
996
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
868
997
  pq_max_size: NotRequired[str]
@@ -873,8 +1002,6 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
873
1002
  r"""Codec to use to compress the persisted data"""
874
1003
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior1]
875
1004
  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."""
876
- pq_mode: NotRequired[OutputGrafanaCloudMode1]
877
- 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."""
878
1005
  pq_controls: NotRequired[OutputGrafanaCloudPqControls1TypedDict]
879
1006
 
880
1007
 
@@ -1019,6 +1146,34 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
1019
1146
  compress: Optional[bool] = True
1020
1147
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
1021
1148
 
1149
+ pq_strict_ordering: Annotated[
1150
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
1151
+ ] = True
1152
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
1153
+
1154
+ pq_rate_per_sec: Annotated[
1155
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
1156
+ ] = 0
1157
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
1158
+
1159
+ pq_mode: Annotated[
1160
+ Annotated[
1161
+ Optional[OutputGrafanaCloudMode1], PlainValidator(validate_open_enum(False))
1162
+ ],
1163
+ pydantic.Field(alias="pqMode"),
1164
+ ] = OutputGrafanaCloudMode1.ERROR
1165
+ 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."""
1166
+
1167
+ pq_max_buffer_size: Annotated[
1168
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
1169
+ ] = 42
1170
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
1171
+
1172
+ pq_max_backpressure_sec: Annotated[
1173
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
1174
+ ] = 30
1175
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
1176
+
1022
1177
  pq_max_file_size: Annotated[
1023
1178
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
1024
1179
  ] = "1 MB"
@@ -1050,18 +1205,64 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
1050
1205
  ] = OutputGrafanaCloudQueueFullBehavior1.BLOCK
1051
1206
  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."""
1052
1207
 
1053
- pq_mode: Annotated[
1054
- Annotated[
1055
- Optional[OutputGrafanaCloudMode1], PlainValidator(validate_open_enum(False))
1056
- ],
1057
- pydantic.Field(alias="pqMode"),
1058
- ] = OutputGrafanaCloudMode1.ERROR
1059
- 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."""
1060
-
1061
1208
  pq_controls: Annotated[
1062
1209
  Optional[OutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls")
1063
1210
  ] = None
1064
1211
 
1212
+ @field_serializer("message_format")
1213
+ def serialize_message_format(self, value):
1214
+ if isinstance(value, str):
1215
+ try:
1216
+ return models.OutputGrafanaCloudMessageFormat1(value)
1217
+ except ValueError:
1218
+ return value
1219
+ return value
1220
+
1221
+ @field_serializer("failed_request_logging_mode")
1222
+ def serialize_failed_request_logging_mode(self, value):
1223
+ if isinstance(value, str):
1224
+ try:
1225
+ return models.OutputGrafanaCloudFailedRequestLoggingMode1(value)
1226
+ except ValueError:
1227
+ return value
1228
+ return value
1229
+
1230
+ @field_serializer("on_backpressure")
1231
+ def serialize_on_backpressure(self, value):
1232
+ if isinstance(value, str):
1233
+ try:
1234
+ return models.OutputGrafanaCloudBackpressureBehavior1(value)
1235
+ except ValueError:
1236
+ return value
1237
+ return value
1238
+
1239
+ @field_serializer("pq_mode")
1240
+ def serialize_pq_mode(self, value):
1241
+ if isinstance(value, str):
1242
+ try:
1243
+ return models.OutputGrafanaCloudMode1(value)
1244
+ except ValueError:
1245
+ return value
1246
+ return value
1247
+
1248
+ @field_serializer("pq_compress")
1249
+ def serialize_pq_compress(self, value):
1250
+ if isinstance(value, str):
1251
+ try:
1252
+ return models.OutputGrafanaCloudCompression1(value)
1253
+ except ValueError:
1254
+ return value
1255
+ return value
1256
+
1257
+ @field_serializer("pq_on_backpressure")
1258
+ def serialize_pq_on_backpressure(self, value):
1259
+ if isinstance(value, str):
1260
+ try:
1261
+ return models.OutputGrafanaCloudQueueFullBehavior1(value)
1262
+ except ValueError:
1263
+ return value
1264
+ return value
1265
+
1065
1266
 
1066
1267
  OutputGrafanaCloudTypedDict = TypeAliasType(
1067
1268
  "OutputGrafanaCloudTypedDict",
@@ -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
@@ -35,6 +36,17 @@ class OutputGraphiteBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
35
36
  QUEUE = "queue"
36
37
 
37
38
 
39
+ class OutputGraphiteMode(str, Enum, metaclass=utils.OpenEnumMeta):
40
+ 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."""
41
+
42
+ # Error
43
+ ERROR = "error"
44
+ # Backpressure
45
+ ALWAYS = "always"
46
+ # Always On
47
+ BACKPRESSURE = "backpressure"
48
+
49
+
38
50
  class OutputGraphiteCompression(str, Enum, metaclass=utils.OpenEnumMeta):
39
51
  r"""Codec to use to compress the persisted data"""
40
52
 
@@ -53,17 +65,6 @@ class OutputGraphiteQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
53
65
  DROP = "drop"
54
66
 
55
67
 
56
- class OutputGraphiteMode(str, Enum, metaclass=utils.OpenEnumMeta):
57
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
58
-
59
- # Error
60
- ERROR = "error"
61
- # Backpressure
62
- BACKPRESSURE = "backpressure"
63
- # Always On
64
- ALWAYS = "always"
65
-
66
-
67
68
  class OutputGraphitePqControlsTypedDict(TypedDict):
68
69
  pass
69
70
 
@@ -105,6 +106,16 @@ class OutputGraphiteTypedDict(TypedDict):
105
106
  r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
106
107
  on_backpressure: NotRequired[OutputGraphiteBackpressureBehavior]
107
108
  r"""How to handle events when all receivers are exerting backpressure"""
109
+ pq_strict_ordering: NotRequired[bool]
110
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
111
+ pq_rate_per_sec: NotRequired[float]
112
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
113
+ pq_mode: NotRequired[OutputGraphiteMode]
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
+ pq_max_buffer_size: NotRequired[float]
116
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
117
+ pq_max_backpressure_sec: NotRequired[float]
118
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
108
119
  pq_max_file_size: NotRequired[str]
109
120
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
110
121
  pq_max_size: NotRequired[str]
@@ -115,8 +126,6 @@ class OutputGraphiteTypedDict(TypedDict):
115
126
  r"""Codec to use to compress the persisted data"""
116
127
  pq_on_backpressure: NotRequired[OutputGraphiteQueueFullBehavior]
117
128
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
118
- pq_mode: NotRequired[OutputGraphiteMode]
119
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
120
129
  pq_controls: NotRequired[OutputGraphitePqControlsTypedDict]
121
130
 
122
131
 
@@ -191,6 +200,34 @@ class OutputGraphite(BaseModel):
191
200
  ] = OutputGraphiteBackpressureBehavior.BLOCK
192
201
  r"""How to handle events when all receivers are exerting backpressure"""
193
202
 
203
+ pq_strict_ordering: Annotated[
204
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
205
+ ] = True
206
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
207
+
208
+ pq_rate_per_sec: Annotated[
209
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
210
+ ] = 0
211
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
212
+
213
+ pq_mode: Annotated[
214
+ Annotated[
215
+ Optional[OutputGraphiteMode], PlainValidator(validate_open_enum(False))
216
+ ],
217
+ pydantic.Field(alias="pqMode"),
218
+ ] = OutputGraphiteMode.ERROR
219
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
220
+
221
+ pq_max_buffer_size: Annotated[
222
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
223
+ ] = 42
224
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
225
+
226
+ pq_max_backpressure_sec: Annotated[
227
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
228
+ ] = 30
229
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
230
+
194
231
  pq_max_file_size: Annotated[
195
232
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
196
233
  ] = "1 MB"
@@ -222,14 +259,51 @@ class OutputGraphite(BaseModel):
222
259
  ] = OutputGraphiteQueueFullBehavior.BLOCK
223
260
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
224
261
 
225
- pq_mode: Annotated[
226
- Annotated[
227
- Optional[OutputGraphiteMode], PlainValidator(validate_open_enum(False))
228
- ],
229
- pydantic.Field(alias="pqMode"),
230
- ] = OutputGraphiteMode.ERROR
231
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
232
-
233
262
  pq_controls: Annotated[
234
263
  Optional[OutputGraphitePqControls], pydantic.Field(alias="pqControls")
235
264
  ] = None
265
+
266
+ @field_serializer("protocol")
267
+ def serialize_protocol(self, value):
268
+ if isinstance(value, str):
269
+ try:
270
+ return models.OutputGraphiteDestinationProtocol(value)
271
+ except ValueError:
272
+ return value
273
+ return value
274
+
275
+ @field_serializer("on_backpressure")
276
+ def serialize_on_backpressure(self, value):
277
+ if isinstance(value, str):
278
+ try:
279
+ return models.OutputGraphiteBackpressureBehavior(value)
280
+ except ValueError:
281
+ return value
282
+ return value
283
+
284
+ @field_serializer("pq_mode")
285
+ def serialize_pq_mode(self, value):
286
+ if isinstance(value, str):
287
+ try:
288
+ return models.OutputGraphiteMode(value)
289
+ except ValueError:
290
+ return value
291
+ return value
292
+
293
+ @field_serializer("pq_compress")
294
+ def serialize_pq_compress(self, value):
295
+ if isinstance(value, str):
296
+ try:
297
+ return models.OutputGraphiteCompression(value)
298
+ except ValueError:
299
+ return value
300
+ return value
301
+
302
+ @field_serializer("pq_on_backpressure")
303
+ def serialize_pq_on_backpressure(self, value):
304
+ if isinstance(value, str):
305
+ try:
306
+ return models.OutputGraphiteQueueFullBehavior(value)
307
+ except ValueError:
308
+ return value
309
+ return value