cribl-control-plane 0.2.1rc5__py3-none-any.whl → 0.2.1rc7__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 (167) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +0 -3
  3. cribl_control_plane/models/__init__.py +120 -150
  4. cribl_control_plane/models/cacheconnection.py +20 -0
  5. cribl_control_plane/models/configgroup.py +20 -1
  6. cribl_control_plane/models/configgroupcloud.py +11 -1
  7. cribl_control_plane/models/createconfiggroupbyproductop.py +11 -0
  8. cribl_control_plane/models/cribllakedataset.py +11 -1
  9. cribl_control_plane/models/cribllakedatasetupdate.py +11 -1
  10. cribl_control_plane/models/datasetmetadata.py +11 -1
  11. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  12. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  13. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  15. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getsummaryop.py +11 -0
  17. cribl_control_plane/models/groupcreaterequest.py +20 -1
  18. cribl_control_plane/models/hbcriblinfo.py +11 -1
  19. cribl_control_plane/models/healthserverstatus.py +20 -1
  20. cribl_control_plane/models/input.py +15 -15
  21. cribl_control_plane/models/inputappscope.py +76 -17
  22. cribl_control_plane/models/inputazureblob.py +29 -1
  23. cribl_control_plane/models/inputcollection.py +20 -1
  24. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  25. cribl_control_plane/models/inputcribl.py +20 -1
  26. cribl_control_plane/models/inputcriblhttp.py +58 -17
  27. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  28. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  29. cribl_control_plane/models/inputcribltcp.py +58 -17
  30. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  31. cribl_control_plane/models/inputdatadogagent.py +58 -17
  32. cribl_control_plane/models/inputdatagen.py +20 -1
  33. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  34. cribl_control_plane/models/inputelastic.py +108 -27
  35. cribl_control_plane/models/inputeventhub.py +176 -1
  36. cribl_control_plane/models/inputexec.py +29 -1
  37. cribl_control_plane/models/inputfile.py +36 -3
  38. cribl_control_plane/models/inputfirehose.py +58 -17
  39. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  40. cribl_control_plane/models/inputgrafana.py +149 -32
  41. cribl_control_plane/models/inputhttp.py +58 -17
  42. cribl_control_plane/models/inputhttpraw.py +58 -17
  43. cribl_control_plane/models/inputjournalfiles.py +20 -1
  44. cribl_control_plane/models/inputkafka.py +182 -1
  45. cribl_control_plane/models/inputkinesis.py +65 -1
  46. cribl_control_plane/models/inputkubeevents.py +20 -1
  47. cribl_control_plane/models/inputkubelogs.py +29 -1
  48. cribl_control_plane/models/inputkubemetrics.py +29 -1
  49. cribl_control_plane/models/inputloki.py +67 -17
  50. cribl_control_plane/models/inputmetrics.py +58 -17
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  52. cribl_control_plane/models/inputmsk.py +74 -1
  53. cribl_control_plane/models/inputnetflow.py +20 -1
  54. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  55. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  56. cribl_control_plane/models/inputoffice365service.py +56 -1
  57. cribl_control_plane/models/inputopentelemetry.py +84 -16
  58. cribl_control_plane/models/inputprometheus.py +131 -37
  59. cribl_control_plane/models/inputprometheusrw.py +67 -17
  60. cribl_control_plane/models/inputrawudp.py +20 -1
  61. cribl_control_plane/models/inputs3.py +38 -1
  62. cribl_control_plane/models/inputs3inventory.py +47 -1
  63. cribl_control_plane/models/inputsecuritylake.py +47 -1
  64. cribl_control_plane/models/inputsnmp.py +29 -1
  65. cribl_control_plane/models/inputsplunk.py +76 -17
  66. cribl_control_plane/models/inputsplunkhec.py +66 -16
  67. cribl_control_plane/models/inputsplunksearch.py +56 -1
  68. cribl_control_plane/models/inputsqs.py +47 -1
  69. cribl_control_plane/models/inputsyslog.py +113 -32
  70. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  71. cribl_control_plane/models/inputsystemstate.py +29 -1
  72. cribl_control_plane/models/inputtcp.py +77 -17
  73. cribl_control_plane/models/inputtcpjson.py +67 -17
  74. cribl_control_plane/models/inputwef.py +65 -1
  75. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  76. cribl_control_plane/models/inputwineventlogs.py +52 -1
  77. cribl_control_plane/models/inputwiz.py +38 -1
  78. cribl_control_plane/models/inputwizwebhook.py +58 -17
  79. cribl_control_plane/models/inputzscalerhec.py +66 -16
  80. cribl_control_plane/models/jobstatus.py +34 -3
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  82. cribl_control_plane/models/masterworkerentry.py +11 -1
  83. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  84. cribl_control_plane/models/output.py +21 -21
  85. cribl_control_plane/models/outputazureblob.py +90 -1
  86. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  87. cribl_control_plane/models/outputazureeventhub.py +267 -22
  88. cribl_control_plane/models/outputazurelogs.py +105 -22
  89. cribl_control_plane/models/outputchronicle.py +105 -22
  90. cribl_control_plane/models/outputclickhouse.py +141 -22
  91. cribl_control_plane/models/outputcloudwatch.py +96 -22
  92. cribl_control_plane/models/outputconfluentcloud.py +290 -23
  93. cribl_control_plane/models/outputcriblhttp.py +123 -22
  94. cribl_control_plane/models/outputcribllake.py +76 -1
  95. cribl_control_plane/models/outputcribltcp.py +123 -22
  96. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  97. cribl_control_plane/models/outputdatabricks.py +72 -1
  98. cribl_control_plane/models/outputdatadog.py +132 -22
  99. cribl_control_plane/models/outputdataset.py +123 -22
  100. cribl_control_plane/models/outputdiskspool.py +11 -1
  101. cribl_control_plane/models/outputdls3.py +117 -1
  102. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  103. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  104. cribl_control_plane/models/outputelastic.py +148 -22
  105. cribl_control_plane/models/outputelasticcloud.py +130 -22
  106. cribl_control_plane/models/outputexabeam.py +47 -1
  107. cribl_control_plane/models/outputfilesystem.py +72 -1
  108. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  109. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  110. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  111. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  112. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  113. cribl_control_plane/models/outputgraphite.py +96 -22
  114. cribl_control_plane/models/outputhoneycomb.py +105 -22
  115. cribl_control_plane/models/outputhumiohec.py +114 -22
  116. cribl_control_plane/models/outputinfluxdb.py +114 -22
  117. cribl_control_plane/models/outputkafka.py +281 -20
  118. cribl_control_plane/models/outputkinesis.py +121 -22
  119. cribl_control_plane/models/outputloki.py +112 -20
  120. cribl_control_plane/models/outputminio.py +117 -1
  121. cribl_control_plane/models/outputmsk.py +173 -20
  122. cribl_control_plane/models/outputnewrelic.py +123 -22
  123. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  124. cribl_control_plane/models/outputopentelemetry.py +159 -22
  125. cribl_control_plane/models/outputprometheus.py +105 -22
  126. cribl_control_plane/models/outputring.py +29 -1
  127. cribl_control_plane/models/outputs3.py +117 -1
  128. cribl_control_plane/models/outputsecuritylake.py +85 -1
  129. cribl_control_plane/models/outputsentinel.py +123 -22
  130. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  131. cribl_control_plane/models/outputservicenow.py +150 -22
  132. cribl_control_plane/models/outputsignalfx.py +105 -22
  133. cribl_control_plane/models/outputsns.py +103 -20
  134. cribl_control_plane/models/outputsplunk.py +141 -22
  135. cribl_control_plane/models/outputsplunkhec.py +198 -22
  136. cribl_control_plane/models/outputsplunklb.py +170 -22
  137. cribl_control_plane/models/outputsqs.py +112 -20
  138. cribl_control_plane/models/outputstatsd.py +96 -22
  139. cribl_control_plane/models/outputstatsdext.py +96 -22
  140. cribl_control_plane/models/outputsumologic.py +105 -22
  141. cribl_control_plane/models/outputsyslog.py +238 -99
  142. cribl_control_plane/models/outputtcpjson.py +132 -22
  143. cribl_control_plane/models/outputwavefront.py +105 -22
  144. cribl_control_plane/models/outputwebhook.py +141 -22
  145. cribl_control_plane/models/outputxsiam.py +103 -20
  146. cribl_control_plane/models/pipeline.py +4 -4
  147. cribl_control_plane/models/resourcepolicy.py +11 -0
  148. cribl_control_plane/models/runnablejobcollection.py +68 -9
  149. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  150. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  151. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  152. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  153. cribl_control_plane/pipelines.py +8 -8
  154. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/METADATA +2 -11
  155. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/RECORD +156 -167
  156. cribl_control_plane/mappings.py +0 -1185
  157. cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +0 -52
  158. cribl_control_plane/models/createadminproductsmappingsbyproductop.py +0 -53
  159. cribl_control_plane/models/deleteadminproductsmappingsbyproductandidop.py +0 -51
  160. cribl_control_plane/models/getadminproductsmappingsbyproductandidop.py +0 -51
  161. cribl_control_plane/models/getadminproductsmappingsbyproductop.py +0 -44
  162. cribl_control_plane/models/mappingruleset.py +0 -53
  163. cribl_control_plane/models/mappingrulesetevalmappingfunction.py +0 -71
  164. cribl_control_plane/models/mappingrulesetgenericmappingfunction.py +0 -29
  165. cribl_control_plane/models/rulesetid.py +0 -13
  166. cribl_control_plane/models/updateadminproductsmappingsbyproductandidop.py +0 -63
  167. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.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
@@ -135,6 +136,17 @@ class OutputLokiBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
135
136
  QUEUE = "queue"
136
137
 
137
138
 
139
+ class OutputLokiMode(str, Enum, metaclass=utils.OpenEnumMeta):
140
+ 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."""
141
+
142
+ # Error
143
+ ERROR = "error"
144
+ # Backpressure
145
+ ALWAYS = "always"
146
+ # Always On
147
+ BACKPRESSURE = "backpressure"
148
+
149
+
138
150
  class OutputLokiCompression(str, Enum, metaclass=utils.OpenEnumMeta):
139
151
  r"""Codec to use to compress the persisted data"""
140
152
 
@@ -153,17 +165,6 @@ class OutputLokiQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
153
165
  DROP = "drop"
154
166
 
155
167
 
156
- class OutputLokiMode(str, Enum, metaclass=utils.OpenEnumMeta):
157
- 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."""
158
-
159
- # Error
160
- ERROR = "error"
161
- # Backpressure
162
- BACKPRESSURE = "backpressure"
163
- # Always On
164
- ALWAYS = "always"
165
-
166
-
167
168
  class OutputLokiPqControlsTypedDict(TypedDict):
168
169
  pass
169
170
 
@@ -240,6 +241,16 @@ class OutputLokiTypedDict(TypedDict):
240
241
  r"""Password (API key in Grafana Cloud domain) for authentication"""
241
242
  credentials_secret: NotRequired[str]
242
243
  r"""Select or create a secret that references your credentials"""
244
+ pq_strict_ordering: NotRequired[bool]
245
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
246
+ pq_rate_per_sec: NotRequired[float]
247
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
248
+ pq_mode: NotRequired[OutputLokiMode]
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
+ pq_max_buffer_size: NotRequired[float]
251
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
252
+ pq_max_backpressure_sec: NotRequired[float]
253
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
243
254
  pq_max_file_size: NotRequired[str]
244
255
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
245
256
  pq_max_size: NotRequired[str]
@@ -250,8 +261,6 @@ class OutputLokiTypedDict(TypedDict):
250
261
  r"""Codec to use to compress the persisted data"""
251
262
  pq_on_backpressure: NotRequired[OutputLokiQueueFullBehavior]
252
263
  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."""
253
- pq_mode: NotRequired[OutputLokiMode]
254
- 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."""
255
264
  pq_controls: NotRequired[OutputLokiPqControlsTypedDict]
256
265
 
257
266
 
@@ -411,6 +420,32 @@ class OutputLoki(BaseModel):
411
420
  ] = None
412
421
  r"""Select or create a secret that references your credentials"""
413
422
 
423
+ pq_strict_ordering: Annotated[
424
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
425
+ ] = True
426
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
427
+
428
+ pq_rate_per_sec: Annotated[
429
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
430
+ ] = 0
431
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
432
+
433
+ pq_mode: Annotated[
434
+ Annotated[Optional[OutputLokiMode], PlainValidator(validate_open_enum(False))],
435
+ pydantic.Field(alias="pqMode"),
436
+ ] = OutputLokiMode.ERROR
437
+ 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."""
438
+
439
+ pq_max_buffer_size: Annotated[
440
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
441
+ ] = 42
442
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
443
+
444
+ pq_max_backpressure_sec: Annotated[
445
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
446
+ ] = 30
447
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
448
+
414
449
  pq_max_file_size: Annotated[
415
450
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
416
451
  ] = "1 MB"
@@ -441,12 +476,69 @@ class OutputLoki(BaseModel):
441
476
  ] = OutputLokiQueueFullBehavior.BLOCK
442
477
  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."""
443
478
 
444
- pq_mode: Annotated[
445
- Annotated[Optional[OutputLokiMode], PlainValidator(validate_open_enum(False))],
446
- pydantic.Field(alias="pqMode"),
447
- ] = OutputLokiMode.ERROR
448
- 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."""
449
-
450
479
  pq_controls: Annotated[
451
480
  Optional[OutputLokiPqControls], pydantic.Field(alias="pqControls")
452
481
  ] = None
482
+
483
+ @field_serializer("message_format")
484
+ def serialize_message_format(self, value):
485
+ if isinstance(value, str):
486
+ try:
487
+ return models.OutputLokiMessageFormat(value)
488
+ except ValueError:
489
+ return value
490
+ return value
491
+
492
+ @field_serializer("auth_type")
493
+ def serialize_auth_type(self, value):
494
+ if isinstance(value, str):
495
+ try:
496
+ return models.OutputLokiAuthenticationType(value)
497
+ except ValueError:
498
+ return value
499
+ return value
500
+
501
+ @field_serializer("failed_request_logging_mode")
502
+ def serialize_failed_request_logging_mode(self, value):
503
+ if isinstance(value, str):
504
+ try:
505
+ return models.OutputLokiFailedRequestLoggingMode(value)
506
+ except ValueError:
507
+ return value
508
+ return value
509
+
510
+ @field_serializer("on_backpressure")
511
+ def serialize_on_backpressure(self, value):
512
+ if isinstance(value, str):
513
+ try:
514
+ return models.OutputLokiBackpressureBehavior(value)
515
+ except ValueError:
516
+ return value
517
+ return value
518
+
519
+ @field_serializer("pq_mode")
520
+ def serialize_pq_mode(self, value):
521
+ if isinstance(value, str):
522
+ try:
523
+ return models.OutputLokiMode(value)
524
+ except ValueError:
525
+ return value
526
+ return value
527
+
528
+ @field_serializer("pq_compress")
529
+ def serialize_pq_compress(self, value):
530
+ if isinstance(value, str):
531
+ try:
532
+ return models.OutputLokiCompression(value)
533
+ except ValueError:
534
+ return value
535
+ return value
536
+
537
+ @field_serializer("pq_on_backpressure")
538
+ def serialize_pq_on_backpressure(self, value):
539
+ if isinstance(value, str):
540
+ try:
541
+ return models.OutputLokiQueueFullBehavior(value)
542
+ except ValueError:
543
+ return value
544
+ 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
@@ -229,6 +230,8 @@ class OutputMinioTypedDict(TypedDict):
229
230
  r"""Compression level to apply before moving files to final destination"""
230
231
  automatic_schema: NotRequired[bool]
231
232
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
233
+ parquet_schema: NotRequired[str]
234
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
232
235
  parquet_version: NotRequired[OutputMinioParquetVersion]
233
236
  r"""Determines which data types are supported and how they are represented"""
234
237
  parquet_data_page_version: NotRequired[OutputMinioDataPageVersion]
@@ -470,6 +473,11 @@ class OutputMinio(BaseModel):
470
473
  ] = False
471
474
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
472
475
 
476
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
477
+ None
478
+ )
479
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
480
+
473
481
  parquet_version: Annotated[
474
482
  Annotated[
475
483
  Optional[OutputMinioParquetVersion],
@@ -536,3 +544,111 @@ class OutputMinio(BaseModel):
536
544
 
537
545
  max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
538
546
  r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
547
+
548
+ @field_serializer("aws_authentication_method")
549
+ def serialize_aws_authentication_method(self, value):
550
+ if isinstance(value, str):
551
+ try:
552
+ return models.OutputMinioAuthenticationMethod(value)
553
+ except ValueError:
554
+ return value
555
+ return value
556
+
557
+ @field_serializer("signature_version")
558
+ def serialize_signature_version(self, value):
559
+ if isinstance(value, str):
560
+ try:
561
+ return models.OutputMinioSignatureVersion(value)
562
+ except ValueError:
563
+ return value
564
+ return value
565
+
566
+ @field_serializer("object_acl")
567
+ def serialize_object_acl(self, value):
568
+ if isinstance(value, str):
569
+ try:
570
+ return models.OutputMinioObjectACL(value)
571
+ except ValueError:
572
+ return value
573
+ return value
574
+
575
+ @field_serializer("storage_class")
576
+ def serialize_storage_class(self, value):
577
+ if isinstance(value, str):
578
+ try:
579
+ return models.OutputMinioStorageClass(value)
580
+ except ValueError:
581
+ return value
582
+ return value
583
+
584
+ @field_serializer("server_side_encryption")
585
+ def serialize_server_side_encryption(self, value):
586
+ if isinstance(value, str):
587
+ try:
588
+ return models.ServerSideEncryption(value)
589
+ except ValueError:
590
+ return value
591
+ return value
592
+
593
+ @field_serializer("format_")
594
+ def serialize_format_(self, value):
595
+ if isinstance(value, str):
596
+ try:
597
+ return models.OutputMinioDataFormat(value)
598
+ except ValueError:
599
+ return value
600
+ return value
601
+
602
+ @field_serializer("on_backpressure")
603
+ def serialize_on_backpressure(self, value):
604
+ if isinstance(value, str):
605
+ try:
606
+ return models.OutputMinioBackpressureBehavior(value)
607
+ except ValueError:
608
+ return value
609
+ return value
610
+
611
+ @field_serializer("on_disk_full_backpressure")
612
+ def serialize_on_disk_full_backpressure(self, value):
613
+ if isinstance(value, str):
614
+ try:
615
+ return models.OutputMinioDiskSpaceProtection(value)
616
+ except ValueError:
617
+ return value
618
+ return value
619
+
620
+ @field_serializer("compress")
621
+ def serialize_compress(self, value):
622
+ if isinstance(value, str):
623
+ try:
624
+ return models.OutputMinioCompression(value)
625
+ except ValueError:
626
+ return value
627
+ return value
628
+
629
+ @field_serializer("compression_level")
630
+ def serialize_compression_level(self, value):
631
+ if isinstance(value, str):
632
+ try:
633
+ return models.OutputMinioCompressionLevel(value)
634
+ except ValueError:
635
+ return value
636
+ return value
637
+
638
+ @field_serializer("parquet_version")
639
+ def serialize_parquet_version(self, value):
640
+ if isinstance(value, str):
641
+ try:
642
+ return models.OutputMinioParquetVersion(value)
643
+ except ValueError:
644
+ return value
645
+ return value
646
+
647
+ @field_serializer("parquet_data_page_version")
648
+ def serialize_parquet_data_page_version(self, value):
649
+ if isinstance(value, str):
650
+ try:
651
+ return models.OutputMinioDataPageVersion(value)
652
+ except ValueError:
653
+ return value
654
+ 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
@@ -155,6 +156,24 @@ class OutputMskKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
155
156
  pydantic.Field(alias="maxVersion"),
156
157
  ] = None
157
158
 
159
+ @field_serializer("min_version")
160
+ def serialize_min_version(self, value):
161
+ if isinstance(value, str):
162
+ try:
163
+ return models.OutputMskKafkaSchemaRegistryMinimumTLSVersion(value)
164
+ except ValueError:
165
+ return value
166
+ return value
167
+
168
+ @field_serializer("max_version")
169
+ def serialize_max_version(self, value):
170
+ if isinstance(value, str):
171
+ try:
172
+ return models.OutputMskKafkaSchemaRegistryMaximumTLSVersion(value)
173
+ except ValueError:
174
+ return value
175
+ return value
176
+
158
177
 
159
178
  class OutputMskKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
160
179
  disabled: NotRequired[bool]
@@ -312,6 +331,24 @@ class OutputMskTLSSettingsClientSide(BaseModel):
312
331
  pydantic.Field(alias="maxVersion"),
313
332
  ] = None
314
333
 
334
+ @field_serializer("min_version")
335
+ def serialize_min_version(self, value):
336
+ if isinstance(value, str):
337
+ try:
338
+ return models.OutputMskMinimumTLSVersion(value)
339
+ except ValueError:
340
+ return value
341
+ return value
342
+
343
+ @field_serializer("max_version")
344
+ def serialize_max_version(self, value):
345
+ if isinstance(value, str):
346
+ try:
347
+ return models.OutputMskMaximumTLSVersion(value)
348
+ except ValueError:
349
+ return value
350
+ return value
351
+
315
352
 
316
353
  class OutputMskBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
317
354
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -324,6 +361,17 @@ class OutputMskBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
324
361
  QUEUE = "queue"
325
362
 
326
363
 
364
+ class OutputMskMode(str, Enum, metaclass=utils.OpenEnumMeta):
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
+
367
+ # Error
368
+ ERROR = "error"
369
+ # Backpressure
370
+ ALWAYS = "always"
371
+ # Always On
372
+ BACKPRESSURE = "backpressure"
373
+
374
+
327
375
  class OutputMskPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
328
376
  r"""Codec to use to compress the persisted data"""
329
377
 
@@ -342,17 +390,6 @@ class OutputMskQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
342
390
  DROP = "drop"
343
391
 
344
392
 
345
- class OutputMskMode(str, Enum, metaclass=utils.OpenEnumMeta):
346
- 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."""
347
-
348
- # Error
349
- ERROR = "error"
350
- # Backpressure
351
- BACKPRESSURE = "backpressure"
352
- # Always On
353
- ALWAYS = "always"
354
-
355
-
356
393
  class OutputMskPqControlsTypedDict(TypedDict):
357
394
  pass
358
395
 
@@ -438,6 +475,18 @@ class OutputMskTypedDict(TypedDict):
438
475
  r"""Select or create a stored secret that references your access key and secret key"""
439
476
  protobuf_library_id: NotRequired[str]
440
477
  r"""Select a set of Protobuf definitions for the events you want to send"""
478
+ protobuf_encoding_id: NotRequired[str]
479
+ r"""Select the type of object you want the Protobuf definitions to use for event encoding"""
480
+ pq_strict_ordering: NotRequired[bool]
481
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
482
+ pq_rate_per_sec: NotRequired[float]
483
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
484
+ pq_mode: NotRequired[OutputMskMode]
485
+ 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."""
486
+ pq_max_buffer_size: NotRequired[float]
487
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
488
+ pq_max_backpressure_sec: NotRequired[float]
489
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
441
490
  pq_max_file_size: NotRequired[str]
442
491
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
443
492
  pq_max_size: NotRequired[str]
@@ -448,8 +497,6 @@ class OutputMskTypedDict(TypedDict):
448
497
  r"""Codec to use to compress the persisted data"""
449
498
  pq_on_backpressure: NotRequired[OutputMskQueueFullBehavior]
450
499
  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."""
451
- pq_mode: NotRequired[OutputMskMode]
452
- 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."""
453
500
  pq_controls: NotRequired[OutputMskPqControlsTypedDict]
454
501
 
455
502
 
@@ -633,6 +680,37 @@ class OutputMsk(BaseModel):
633
680
  ] = None
634
681
  r"""Select a set of Protobuf definitions for the events you want to send"""
635
682
 
683
+ protobuf_encoding_id: Annotated[
684
+ Optional[str], pydantic.Field(alias="protobufEncodingId")
685
+ ] = None
686
+ r"""Select the type of object you want the Protobuf definitions to use for event encoding"""
687
+
688
+ pq_strict_ordering: Annotated[
689
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
690
+ ] = True
691
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
692
+
693
+ pq_rate_per_sec: Annotated[
694
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
695
+ ] = 0
696
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
697
+
698
+ pq_mode: Annotated[
699
+ Annotated[Optional[OutputMskMode], PlainValidator(validate_open_enum(False))],
700
+ pydantic.Field(alias="pqMode"),
701
+ ] = OutputMskMode.ERROR
702
+ 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."""
703
+
704
+ pq_max_buffer_size: Annotated[
705
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
706
+ ] = 42
707
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
708
+
709
+ pq_max_backpressure_sec: Annotated[
710
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
711
+ ] = 30
712
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
713
+
636
714
  pq_max_file_size: Annotated[
637
715
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
638
716
  ] = "1 MB"
@@ -664,12 +742,87 @@ class OutputMsk(BaseModel):
664
742
  ] = OutputMskQueueFullBehavior.BLOCK
665
743
  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."""
666
744
 
667
- pq_mode: Annotated[
668
- Annotated[Optional[OutputMskMode], PlainValidator(validate_open_enum(False))],
669
- pydantic.Field(alias="pqMode"),
670
- ] = OutputMskMode.ERROR
671
- 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."""
672
-
673
745
  pq_controls: Annotated[
674
746
  Optional[OutputMskPqControls], pydantic.Field(alias="pqControls")
675
747
  ] = None
748
+
749
+ @field_serializer("ack")
750
+ def serialize_ack(self, value):
751
+ if isinstance(value, str):
752
+ try:
753
+ return models.OutputMskAcknowledgments(value)
754
+ except ValueError:
755
+ return value
756
+ return value
757
+
758
+ @field_serializer("format_")
759
+ def serialize_format_(self, value):
760
+ if isinstance(value, str):
761
+ try:
762
+ return models.OutputMskRecordDataFormat(value)
763
+ except ValueError:
764
+ return value
765
+ return value
766
+
767
+ @field_serializer("compression")
768
+ def serialize_compression(self, value):
769
+ if isinstance(value, str):
770
+ try:
771
+ return models.OutputMskCompression(value)
772
+ except ValueError:
773
+ return value
774
+ return value
775
+
776
+ @field_serializer("aws_authentication_method")
777
+ def serialize_aws_authentication_method(self, value):
778
+ if isinstance(value, str):
779
+ try:
780
+ return models.OutputMskAuthenticationMethod(value)
781
+ except ValueError:
782
+ return value
783
+ return value
784
+
785
+ @field_serializer("signature_version")
786
+ def serialize_signature_version(self, value):
787
+ if isinstance(value, str):
788
+ try:
789
+ return models.OutputMskSignatureVersion(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.OutputMskBackpressureBehavior(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.OutputMskMode(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.OutputMskPqCompressCompression(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.OutputMskQueueFullBehavior(value)
826
+ except ValueError:
827
+ return value
828
+ return value