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
@@ -19,29 +18,22 @@ class OutputOpenTelemetryType(str, Enum):
19
18
  class OutputOpenTelemetryProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
20
19
  r"""Select a transport option for OpenTelemetry"""
21
20
 
22
- # gRPC
23
21
  GRPC = "grpc"
24
- # HTTP
25
22
  HTTP = "http"
26
23
 
27
24
 
28
25
  class OutputOpenTelemetryOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
29
26
  r"""The version of OTLP Protobuf definitions to use when structuring data to send"""
30
27
 
31
- # 0.10.0
32
28
  ZERO_DOT_10_DOT_0 = "0.10.0"
33
- # 1.3.1
34
29
  ONE_DOT_3_DOT_1 = "1.3.1"
35
30
 
36
31
 
37
32
  class OutputOpenTelemetryCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
38
33
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
39
34
 
40
- # None
41
35
  NONE = "none"
42
- # Deflate
43
36
  DEFLATE = "deflate"
44
- # Gzip
45
37
  GZIP = "gzip"
46
38
 
47
39
 
@@ -50,9 +42,7 @@ class OutputOpenTelemetryHTTPCompressCompression(
50
42
  ):
51
43
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
52
44
 
53
- # None
54
45
  NONE = "none"
55
- # Gzip
56
46
  GZIP = "gzip"
57
47
 
58
48
 
@@ -83,22 +73,16 @@ class OutputOpenTelemetryFailedRequestLoggingMode(
83
73
  ):
84
74
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
85
75
 
86
- # Payload
87
76
  PAYLOAD = "payload"
88
- # Payload + Headers
89
77
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
90
- # None
91
78
  NONE = "none"
92
79
 
93
80
 
94
81
  class OutputOpenTelemetryBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
95
82
  r"""How to handle events when all receivers are exerting backpressure"""
96
83
 
97
- # Block
98
84
  BLOCK = "block"
99
- # Drop
100
85
  DROP = "drop"
101
- # Persistent Queue
102
86
  QUEUE = "queue"
103
87
 
104
88
 
@@ -274,54 +258,29 @@ class OutputOpenTelemetryTLSSettingsClientSide(BaseModel):
274
258
  pydantic.Field(alias="maxVersion"),
275
259
  ] = None
276
260
 
277
- @field_serializer("min_version")
278
- def serialize_min_version(self, value):
279
- if isinstance(value, str):
280
- try:
281
- return models.OutputOpenTelemetryMinimumTLSVersion(value)
282
- except ValueError:
283
- return value
284
- return value
285
-
286
- @field_serializer("max_version")
287
- def serialize_max_version(self, value):
288
- if isinstance(value, str):
289
- try:
290
- return models.OutputOpenTelemetryMaximumTLSVersion(value)
291
- except ValueError:
292
- return value
293
- return value
294
-
295
-
296
- class OutputOpenTelemetryMode(str, Enum, metaclass=utils.OpenEnumMeta):
297
- 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."""
298
-
299
- # Error
300
- ERROR = "error"
301
- # Backpressure
302
- ALWAYS = "always"
303
- # Always On
304
- BACKPRESSURE = "backpressure"
305
-
306
261
 
307
262
  class OutputOpenTelemetryPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
308
263
  r"""Codec to use to compress the persisted data"""
309
264
 
310
- # None
311
265
  NONE = "none"
312
- # Gzip
313
266
  GZIP = "gzip"
314
267
 
315
268
 
316
269
  class OutputOpenTelemetryQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
317
270
  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."""
318
271
 
319
- # Block
320
272
  BLOCK = "block"
321
- # Drop new data
322
273
  DROP = "drop"
323
274
 
324
275
 
276
+ class OutputOpenTelemetryMode(str, Enum, metaclass=utils.OpenEnumMeta):
277
+ 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."""
278
+
279
+ ERROR = "error"
280
+ BACKPRESSURE = "backpressure"
281
+ ALWAYS = "always"
282
+
283
+
325
284
  class OutputOpenTelemetryPqControlsTypedDict(TypedDict):
326
285
  pass
327
286
 
@@ -428,16 +387,6 @@ class OutputOpenTelemetryTypedDict(TypedDict):
428
387
  response_honor_retry_after_header: NotRequired[bool]
429
388
  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."""
430
389
  tls: NotRequired[OutputOpenTelemetryTLSSettingsClientSideTypedDict]
431
- pq_strict_ordering: NotRequired[bool]
432
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
433
- pq_rate_per_sec: NotRequired[float]
434
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
435
- pq_mode: NotRequired[OutputOpenTelemetryMode]
436
- 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."""
437
- pq_max_buffer_size: NotRequired[float]
438
- r"""The maximum number of events to hold in memory before writing the events to disk"""
439
- pq_max_backpressure_sec: NotRequired[float]
440
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
441
390
  pq_max_file_size: NotRequired[str]
442
391
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
443
392
  pq_max_size: NotRequired[str]
@@ -448,6 +397,8 @@ class OutputOpenTelemetryTypedDict(TypedDict):
448
397
  r"""Codec to use to compress the persisted data"""
449
398
  pq_on_backpressure: NotRequired[OutputOpenTelemetryQueueFullBehavior]
450
399
  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."""
400
+ pq_mode: NotRequired[OutputOpenTelemetryMode]
401
+ 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."""
451
402
  pq_controls: NotRequired[OutputOpenTelemetryPqControlsTypedDict]
452
403
 
453
404
 
@@ -674,34 +625,6 @@ class OutputOpenTelemetry(BaseModel):
674
625
 
675
626
  tls: Optional[OutputOpenTelemetryTLSSettingsClientSide] = None
676
627
 
677
- pq_strict_ordering: Annotated[
678
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
679
- ] = True
680
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
681
-
682
- pq_rate_per_sec: Annotated[
683
- Optional[float], pydantic.Field(alias="pqRatePerSec")
684
- ] = 0
685
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
686
-
687
- pq_mode: Annotated[
688
- Annotated[
689
- Optional[OutputOpenTelemetryMode], PlainValidator(validate_open_enum(False))
690
- ],
691
- pydantic.Field(alias="pqMode"),
692
- ] = OutputOpenTelemetryMode.ERROR
693
- 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."""
694
-
695
- pq_max_buffer_size: Annotated[
696
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
697
- ] = 42
698
- r"""The maximum number of events to hold in memory before writing the events to disk"""
699
-
700
- pq_max_backpressure_sec: Annotated[
701
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
702
- ] = 30
703
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
704
-
705
628
  pq_max_file_size: Annotated[
706
629
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
707
630
  ] = "1 MB"
@@ -733,96 +656,14 @@ class OutputOpenTelemetry(BaseModel):
733
656
  ] = OutputOpenTelemetryQueueFullBehavior.BLOCK
734
657
  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."""
735
658
 
659
+ pq_mode: Annotated[
660
+ Annotated[
661
+ Optional[OutputOpenTelemetryMode], PlainValidator(validate_open_enum(False))
662
+ ],
663
+ pydantic.Field(alias="pqMode"),
664
+ ] = OutputOpenTelemetryMode.ERROR
665
+ 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."""
666
+
736
667
  pq_controls: Annotated[
737
668
  Optional[OutputOpenTelemetryPqControls], pydantic.Field(alias="pqControls")
738
669
  ] = None
739
-
740
- @field_serializer("protocol")
741
- def serialize_protocol(self, value):
742
- if isinstance(value, str):
743
- try:
744
- return models.OutputOpenTelemetryProtocol(value)
745
- except ValueError:
746
- return value
747
- return value
748
-
749
- @field_serializer("otlp_version")
750
- def serialize_otlp_version(self, value):
751
- if isinstance(value, str):
752
- try:
753
- return models.OutputOpenTelemetryOTLPVersion(value)
754
- except ValueError:
755
- return value
756
- return value
757
-
758
- @field_serializer("compress")
759
- def serialize_compress(self, value):
760
- if isinstance(value, str):
761
- try:
762
- return models.OutputOpenTelemetryCompressCompression(value)
763
- except ValueError:
764
- return value
765
- return value
766
-
767
- @field_serializer("http_compress")
768
- def serialize_http_compress(self, value):
769
- if isinstance(value, str):
770
- try:
771
- return models.OutputOpenTelemetryHTTPCompressCompression(value)
772
- except ValueError:
773
- return value
774
- return value
775
-
776
- @field_serializer("auth_type")
777
- def serialize_auth_type(self, value):
778
- if isinstance(value, str):
779
- try:
780
- return models.OutputOpenTelemetryAuthenticationType(value)
781
- except ValueError:
782
- return value
783
- return value
784
-
785
- @field_serializer("failed_request_logging_mode")
786
- def serialize_failed_request_logging_mode(self, value):
787
- if isinstance(value, str):
788
- try:
789
- return models.OutputOpenTelemetryFailedRequestLoggingMode(value)
790
- except ValueError:
791
- return value
792
- return value
793
-
794
- @field_serializer("on_backpressure")
795
- def serialize_on_backpressure(self, value):
796
- if isinstance(value, str):
797
- try:
798
- return models.OutputOpenTelemetryBackpressureBehavior(value)
799
- except ValueError:
800
- return value
801
- return value
802
-
803
- @field_serializer("pq_mode")
804
- def serialize_pq_mode(self, value):
805
- if isinstance(value, str):
806
- try:
807
- return models.OutputOpenTelemetryMode(value)
808
- except ValueError:
809
- return value
810
- return value
811
-
812
- @field_serializer("pq_compress")
813
- def serialize_pq_compress(self, value):
814
- if isinstance(value, str):
815
- try:
816
- return models.OutputOpenTelemetryPqCompressCompression(value)
817
- except ValueError:
818
- return value
819
- return value
820
-
821
- @field_serializer("pq_on_backpressure")
822
- def serialize_pq_on_backpressure(self, value):
823
- if isinstance(value, str):
824
- try:
825
- return models.OutputOpenTelemetryQueueFullBehavior(value)
826
- except ValueError:
827
- return value
828
- 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
@@ -30,11 +29,8 @@ class OutputPrometheusExtraHTTPHeader(BaseModel):
30
29
  class OutputPrometheusFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
31
30
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
32
31
 
33
- # Payload
34
32
  PAYLOAD = "payload"
35
- # Payload + Headers
36
33
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
37
- # None
38
34
  NONE = "none"
39
35
 
40
36
 
@@ -95,11 +91,8 @@ class OutputPrometheusTimeoutRetrySettings(BaseModel):
95
91
  class OutputPrometheusBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
96
92
  r"""How to handle events when all receivers are exerting backpressure"""
97
93
 
98
- # Block
99
94
  BLOCK = "block"
100
- # Drop
101
95
  DROP = "drop"
102
- # Persistent Queue
103
96
  QUEUE = "queue"
104
97
 
105
98
 
@@ -114,35 +107,28 @@ class OutputPrometheusAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta
114
107
  OAUTH = "oauth"
115
108
 
116
109
 
117
- class OutputPrometheusMode(str, Enum, metaclass=utils.OpenEnumMeta):
118
- 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."""
119
-
120
- # Error
121
- ERROR = "error"
122
- # Backpressure
123
- ALWAYS = "always"
124
- # Always On
125
- BACKPRESSURE = "backpressure"
126
-
127
-
128
110
  class OutputPrometheusCompression(str, Enum, metaclass=utils.OpenEnumMeta):
129
111
  r"""Codec to use to compress the persisted data"""
130
112
 
131
- # None
132
113
  NONE = "none"
133
- # Gzip
134
114
  GZIP = "gzip"
135
115
 
136
116
 
137
117
  class OutputPrometheusQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
138
118
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
139
119
 
140
- # Block
141
120
  BLOCK = "block"
142
- # Drop new data
143
121
  DROP = "drop"
144
122
 
145
123
 
124
+ class OutputPrometheusMode(str, Enum, metaclass=utils.OpenEnumMeta):
125
+ 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."""
126
+
127
+ ERROR = "error"
128
+ BACKPRESSURE = "backpressure"
129
+ ALWAYS = "always"
130
+
131
+
146
132
  class OutputPrometheusPqControlsTypedDict(TypedDict):
147
133
  pass
148
134
 
@@ -236,16 +222,6 @@ class OutputPrometheusTypedDict(TypedDict):
236
222
  description: NotRequired[str]
237
223
  metrics_flush_period_sec: NotRequired[float]
238
224
  r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above."""
239
- pq_strict_ordering: NotRequired[bool]
240
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
241
- pq_rate_per_sec: NotRequired[float]
242
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
243
- pq_mode: NotRequired[OutputPrometheusMode]
244
- 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."""
245
- pq_max_buffer_size: NotRequired[float]
246
- r"""The maximum number of events to hold in memory before writing the events to disk"""
247
- pq_max_backpressure_sec: NotRequired[float]
248
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
249
225
  pq_max_file_size: NotRequired[str]
250
226
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
251
227
  pq_max_size: NotRequired[str]
@@ -256,6 +232,8 @@ class OutputPrometheusTypedDict(TypedDict):
256
232
  r"""Codec to use to compress the persisted data"""
257
233
  pq_on_backpressure: NotRequired[OutputPrometheusQueueFullBehavior]
258
234
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
235
+ pq_mode: NotRequired[OutputPrometheusMode]
236
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
259
237
  pq_controls: NotRequired[OutputPrometheusPqControlsTypedDict]
260
238
  username: NotRequired[str]
261
239
  password: NotRequired[str]
@@ -411,34 +389,6 @@ class OutputPrometheus(BaseModel):
411
389
  ] = 60
412
390
  r"""How frequently metrics metadata is sent out. Value cannot be smaller than the base Flush period set above."""
413
391
 
414
- pq_strict_ordering: Annotated[
415
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
416
- ] = True
417
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
418
-
419
- pq_rate_per_sec: Annotated[
420
- Optional[float], pydantic.Field(alias="pqRatePerSec")
421
- ] = 0
422
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
423
-
424
- pq_mode: Annotated[
425
- Annotated[
426
- Optional[OutputPrometheusMode], PlainValidator(validate_open_enum(False))
427
- ],
428
- pydantic.Field(alias="pqMode"),
429
- ] = OutputPrometheusMode.ERROR
430
- 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."""
431
-
432
- pq_max_buffer_size: Annotated[
433
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
434
- ] = 42
435
- r"""The maximum number of events to hold in memory before writing the events to disk"""
436
-
437
- pq_max_backpressure_sec: Annotated[
438
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
439
- ] = 30
440
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
441
-
442
392
  pq_max_file_size: Annotated[
443
393
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
444
394
  ] = "1 MB"
@@ -470,6 +420,14 @@ class OutputPrometheus(BaseModel):
470
420
  ] = OutputPrometheusQueueFullBehavior.BLOCK
471
421
  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."""
472
422
 
423
+ pq_mode: Annotated[
424
+ Annotated[
425
+ Optional[OutputPrometheusMode], PlainValidator(validate_open_enum(False))
426
+ ],
427
+ pydantic.Field(alias="pqMode"),
428
+ ] = OutputPrometheusMode.ERROR
429
+ 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."""
430
+
473
431
  pq_controls: Annotated[
474
432
  Optional[OutputPrometheusPqControls], pydantic.Field(alias="pqControls")
475
433
  ] = None
@@ -525,57 +483,3 @@ class OutputPrometheus(BaseModel):
525
483
  pydantic.Field(alias="oauthHeaders"),
526
484
  ] = None
527
485
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
528
-
529
- @field_serializer("failed_request_logging_mode")
530
- def serialize_failed_request_logging_mode(self, value):
531
- if isinstance(value, str):
532
- try:
533
- return models.OutputPrometheusFailedRequestLoggingMode(value)
534
- except ValueError:
535
- return value
536
- return value
537
-
538
- @field_serializer("on_backpressure")
539
- def serialize_on_backpressure(self, value):
540
- if isinstance(value, str):
541
- try:
542
- return models.OutputPrometheusBackpressureBehavior(value)
543
- except ValueError:
544
- return value
545
- return value
546
-
547
- @field_serializer("auth_type")
548
- def serialize_auth_type(self, value):
549
- if isinstance(value, str):
550
- try:
551
- return models.OutputPrometheusAuthenticationType(value)
552
- except ValueError:
553
- return value
554
- return value
555
-
556
- @field_serializer("pq_mode")
557
- def serialize_pq_mode(self, value):
558
- if isinstance(value, str):
559
- try:
560
- return models.OutputPrometheusMode(value)
561
- except ValueError:
562
- return value
563
- return value
564
-
565
- @field_serializer("pq_compress")
566
- def serialize_pq_compress(self, value):
567
- if isinstance(value, str):
568
- try:
569
- return models.OutputPrometheusCompression(value)
570
- except ValueError:
571
- return value
572
- return value
573
-
574
- @field_serializer("pq_on_backpressure")
575
- def serialize_pq_on_backpressure(self, value):
576
- if isinstance(value, str):
577
- try:
578
- return models.OutputPrometheusQueueFullBehavior(value)
579
- except ValueError:
580
- return value
581
- 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
@@ -31,9 +30,7 @@ class OutputRingDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
31
30
  class OutputRingBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
32
31
  r"""How to handle events when all receivers are exerting backpressure"""
33
32
 
34
- # Block
35
33
  BLOCK = "block"
36
- # Drop
37
34
  DROP = "drop"
38
35
 
39
36
 
@@ -122,30 +119,3 @@ class OutputRing(BaseModel):
122
119
  r"""How to handle events when all receivers are exerting backpressure"""
123
120
 
124
121
  description: Optional[str] = None
125
-
126
- @field_serializer("format_")
127
- def serialize_format_(self, value):
128
- if isinstance(value, str):
129
- try:
130
- return models.OutputRingDataFormat(value)
131
- except ValueError:
132
- return value
133
- return value
134
-
135
- @field_serializer("compress")
136
- def serialize_compress(self, value):
137
- if isinstance(value, str):
138
- try:
139
- return models.OutputRingDataCompressionFormat(value)
140
- except ValueError:
141
- return value
142
- return value
143
-
144
- @field_serializer("on_backpressure")
145
- def serialize_on_backpressure(self, value):
146
- if isinstance(value, str):
147
- try:
148
- return models.OutputRingBackpressureBehavior(value)
149
- except ValueError:
150
- return value
151
- return value