cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cribl-control-plane might be problematic. Click here for more details.

Files changed (158) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/lakedatasets.py +28 -0
  4. cribl_control_plane/models/__init__.py +124 -5
  5. cribl_control_plane/models/cacheconnection.py +20 -0
  6. cribl_control_plane/models/configgroup.py +20 -1
  7. cribl_control_plane/models/configgroupcloud.py +11 -1
  8. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  9. cribl_control_plane/models/cribllakedataset.py +15 -1
  10. cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
  11. cribl_control_plane/models/datasetmetadata.py +11 -1
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  17. cribl_control_plane/models/getsummaryop.py +11 -0
  18. cribl_control_plane/models/groupcreaterequest.py +20 -1
  19. cribl_control_plane/models/hbcriblinfo.py +11 -1
  20. cribl_control_plane/models/healthserverstatus.py +20 -1
  21. cribl_control_plane/models/input.py +15 -15
  22. cribl_control_plane/models/inputappscope.py +76 -17
  23. cribl_control_plane/models/inputazureblob.py +29 -1
  24. cribl_control_plane/models/inputcollection.py +20 -1
  25. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  26. cribl_control_plane/models/inputcribl.py +20 -1
  27. cribl_control_plane/models/inputcriblhttp.py +58 -17
  28. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  29. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  30. cribl_control_plane/models/inputcribltcp.py +58 -17
  31. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  32. cribl_control_plane/models/inputdatadogagent.py +58 -17
  33. cribl_control_plane/models/inputdatagen.py +20 -1
  34. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  35. cribl_control_plane/models/inputelastic.py +108 -27
  36. cribl_control_plane/models/inputeventhub.py +176 -1
  37. cribl_control_plane/models/inputexec.py +29 -1
  38. cribl_control_plane/models/inputfile.py +40 -7
  39. cribl_control_plane/models/inputfirehose.py +58 -17
  40. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  41. cribl_control_plane/models/inputgrafana.py +149 -32
  42. cribl_control_plane/models/inputhttp.py +58 -17
  43. cribl_control_plane/models/inputhttpraw.py +58 -17
  44. cribl_control_plane/models/inputjournalfiles.py +20 -1
  45. cribl_control_plane/models/inputkafka.py +182 -1
  46. cribl_control_plane/models/inputkinesis.py +65 -1
  47. cribl_control_plane/models/inputkubeevents.py +20 -1
  48. cribl_control_plane/models/inputkubelogs.py +29 -1
  49. cribl_control_plane/models/inputkubemetrics.py +29 -1
  50. cribl_control_plane/models/inputloki.py +67 -17
  51. cribl_control_plane/models/inputmetrics.py +58 -17
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  53. cribl_control_plane/models/inputmsk.py +74 -1
  54. cribl_control_plane/models/inputnetflow.py +20 -1
  55. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  56. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  57. cribl_control_plane/models/inputoffice365service.py +56 -1
  58. cribl_control_plane/models/inputopentelemetry.py +84 -16
  59. cribl_control_plane/models/inputprometheus.py +131 -37
  60. cribl_control_plane/models/inputprometheusrw.py +67 -17
  61. cribl_control_plane/models/inputrawudp.py +20 -1
  62. cribl_control_plane/models/inputs3.py +38 -1
  63. cribl_control_plane/models/inputs3inventory.py +47 -1
  64. cribl_control_plane/models/inputsecuritylake.py +47 -1
  65. cribl_control_plane/models/inputsnmp.py +29 -1
  66. cribl_control_plane/models/inputsplunk.py +76 -17
  67. cribl_control_plane/models/inputsplunkhec.py +66 -16
  68. cribl_control_plane/models/inputsplunksearch.py +56 -1
  69. cribl_control_plane/models/inputsqs.py +47 -1
  70. cribl_control_plane/models/inputsyslog.py +113 -32
  71. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  72. cribl_control_plane/models/inputsystemstate.py +29 -1
  73. cribl_control_plane/models/inputtcp.py +77 -17
  74. cribl_control_plane/models/inputtcpjson.py +67 -17
  75. cribl_control_plane/models/inputwef.py +65 -1
  76. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  77. cribl_control_plane/models/inputwineventlogs.py +52 -1
  78. cribl_control_plane/models/inputwiz.py +38 -1
  79. cribl_control_plane/models/inputwizwebhook.py +58 -17
  80. cribl_control_plane/models/inputzscalerhec.py +66 -16
  81. cribl_control_plane/models/jobinfo.py +10 -4
  82. cribl_control_plane/models/jobstatus.py +34 -3
  83. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  84. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  85. cribl_control_plane/models/masterworkerentry.py +11 -1
  86. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  87. cribl_control_plane/models/output.py +21 -21
  88. cribl_control_plane/models/outputazureblob.py +90 -1
  89. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  90. cribl_control_plane/models/outputazureeventhub.py +267 -22
  91. cribl_control_plane/models/outputazurelogs.py +105 -22
  92. cribl_control_plane/models/outputchronicle.py +105 -22
  93. cribl_control_plane/models/outputclickhouse.py +141 -22
  94. cribl_control_plane/models/outputcloudwatch.py +96 -22
  95. cribl_control_plane/models/outputconfluentcloud.py +292 -23
  96. cribl_control_plane/models/outputcriblhttp.py +123 -22
  97. cribl_control_plane/models/outputcribllake.py +76 -1
  98. cribl_control_plane/models/outputcribltcp.py +123 -22
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  100. cribl_control_plane/models/outputdatabricks.py +76 -5
  101. cribl_control_plane/models/outputdatadog.py +132 -22
  102. cribl_control_plane/models/outputdataset.py +123 -22
  103. cribl_control_plane/models/outputdiskspool.py +11 -1
  104. cribl_control_plane/models/outputdls3.py +117 -1
  105. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  106. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  107. cribl_control_plane/models/outputelastic.py +148 -22
  108. cribl_control_plane/models/outputelasticcloud.py +130 -22
  109. cribl_control_plane/models/outputexabeam.py +47 -1
  110. cribl_control_plane/models/outputfilesystem.py +72 -1
  111. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  112. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  113. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  114. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  115. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  116. cribl_control_plane/models/outputgraphite.py +96 -22
  117. cribl_control_plane/models/outputhoneycomb.py +105 -22
  118. cribl_control_plane/models/outputhumiohec.py +114 -22
  119. cribl_control_plane/models/outputinfluxdb.py +114 -22
  120. cribl_control_plane/models/outputkafka.py +283 -20
  121. cribl_control_plane/models/outputkinesis.py +121 -22
  122. cribl_control_plane/models/outputloki.py +112 -20
  123. cribl_control_plane/models/outputminio.py +117 -1
  124. cribl_control_plane/models/outputmsk.py +175 -20
  125. cribl_control_plane/models/outputnewrelic.py +123 -22
  126. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  127. cribl_control_plane/models/outputopentelemetry.py +159 -22
  128. cribl_control_plane/models/outputprometheus.py +105 -22
  129. cribl_control_plane/models/outputring.py +29 -1
  130. cribl_control_plane/models/outputs3.py +117 -1
  131. cribl_control_plane/models/outputsecuritylake.py +85 -1
  132. cribl_control_plane/models/outputsentinel.py +123 -22
  133. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  134. cribl_control_plane/models/outputservicenow.py +150 -22
  135. cribl_control_plane/models/outputsignalfx.py +105 -22
  136. cribl_control_plane/models/outputsns.py +103 -20
  137. cribl_control_plane/models/outputsplunk.py +141 -22
  138. cribl_control_plane/models/outputsplunkhec.py +198 -22
  139. cribl_control_plane/models/outputsplunklb.py +170 -22
  140. cribl_control_plane/models/outputsqs.py +112 -20
  141. cribl_control_plane/models/outputstatsd.py +96 -22
  142. cribl_control_plane/models/outputstatsdext.py +96 -22
  143. cribl_control_plane/models/outputsumologic.py +105 -22
  144. cribl_control_plane/models/outputsyslog.py +238 -99
  145. cribl_control_plane/models/outputtcpjson.py +132 -22
  146. cribl_control_plane/models/outputwavefront.py +105 -22
  147. cribl_control_plane/models/outputwebhook.py +141 -22
  148. cribl_control_plane/models/outputxsiam.py +103 -20
  149. cribl_control_plane/models/resourcepolicy.py +11 -0
  150. cribl_control_plane/models/runnablejobcollection.py +68 -9
  151. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  155. cribl_control_plane/sdk.py +2 -2
  156. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
  157. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
  158. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
@@ -1,11 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import utils
4
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -109,6 +110,17 @@ class OutputHoneycombAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMet
109
110
  SECRET = "secret"
110
111
 
111
112
 
113
+ class OutputHoneycombMode(str, Enum, metaclass=utils.OpenEnumMeta):
114
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
115
+
116
+ # Error
117
+ ERROR = "error"
118
+ # Backpressure
119
+ ALWAYS = "always"
120
+ # Always On
121
+ BACKPRESSURE = "backpressure"
122
+
123
+
112
124
  class OutputHoneycombCompression(str, Enum, metaclass=utils.OpenEnumMeta):
113
125
  r"""Codec to use to compress the persisted data"""
114
126
 
@@ -127,17 +139,6 @@ class OutputHoneycombQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
127
139
  DROP = "drop"
128
140
 
129
141
 
130
- class OutputHoneycombMode(str, Enum, metaclass=utils.OpenEnumMeta):
131
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
132
-
133
- # Error
134
- ERROR = "error"
135
- # Backpressure
136
- BACKPRESSURE = "backpressure"
137
- # Always On
138
- ALWAYS = "always"
139
-
140
-
141
142
  class OutputHoneycombPqControlsTypedDict(TypedDict):
142
143
  pass
143
144
 
@@ -197,6 +198,16 @@ class OutputHoneycombTypedDict(TypedDict):
197
198
  auth_type: NotRequired[OutputHoneycombAuthenticationMethod]
198
199
  r"""Enter API key directly, or select a stored secret"""
199
200
  description: NotRequired[str]
201
+ pq_strict_ordering: NotRequired[bool]
202
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
203
+ pq_rate_per_sec: NotRequired[float]
204
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
205
+ pq_mode: NotRequired[OutputHoneycombMode]
206
+ 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."""
207
+ pq_max_buffer_size: NotRequired[float]
208
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
209
+ pq_max_backpressure_sec: NotRequired[float]
210
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
200
211
  pq_max_file_size: NotRequired[str]
201
212
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
202
213
  pq_max_size: NotRequired[str]
@@ -207,8 +218,6 @@ class OutputHoneycombTypedDict(TypedDict):
207
218
  r"""Codec to use to compress the persisted data"""
208
219
  pq_on_backpressure: NotRequired[OutputHoneycombQueueFullBehavior]
209
220
  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."""
210
- pq_mode: NotRequired[OutputHoneycombMode]
211
- 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."""
212
221
  pq_controls: NotRequired[OutputHoneycombPqControlsTypedDict]
213
222
  team: NotRequired[str]
214
223
  r"""Team API key where the dataset belongs"""
@@ -332,6 +341,34 @@ class OutputHoneycomb(BaseModel):
332
341
 
333
342
  description: Optional[str] = None
334
343
 
344
+ pq_strict_ordering: Annotated[
345
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
346
+ ] = True
347
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
348
+
349
+ pq_rate_per_sec: Annotated[
350
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
351
+ ] = 0
352
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
353
+
354
+ pq_mode: Annotated[
355
+ Annotated[
356
+ Optional[OutputHoneycombMode], PlainValidator(validate_open_enum(False))
357
+ ],
358
+ pydantic.Field(alias="pqMode"),
359
+ ] = OutputHoneycombMode.ERROR
360
+ 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."""
361
+
362
+ pq_max_buffer_size: Annotated[
363
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
364
+ ] = 42
365
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
366
+
367
+ pq_max_backpressure_sec: Annotated[
368
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
369
+ ] = 30
370
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
371
+
335
372
  pq_max_file_size: Annotated[
336
373
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
337
374
  ] = "1 MB"
@@ -363,14 +400,6 @@ class OutputHoneycomb(BaseModel):
363
400
  ] = OutputHoneycombQueueFullBehavior.BLOCK
364
401
  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."""
365
402
 
366
- pq_mode: Annotated[
367
- Annotated[
368
- Optional[OutputHoneycombMode], PlainValidator(validate_open_enum(False))
369
- ],
370
- pydantic.Field(alias="pqMode"),
371
- ] = OutputHoneycombMode.ERROR
372
- 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."""
373
-
374
403
  pq_controls: Annotated[
375
404
  Optional[OutputHoneycombPqControls], pydantic.Field(alias="pqControls")
376
405
  ] = None
@@ -380,3 +409,57 @@ class OutputHoneycomb(BaseModel):
380
409
 
381
410
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
382
411
  r"""Select or create a stored text secret"""
412
+
413
+ @field_serializer("failed_request_logging_mode")
414
+ def serialize_failed_request_logging_mode(self, value):
415
+ if isinstance(value, str):
416
+ try:
417
+ return models.OutputHoneycombFailedRequestLoggingMode(value)
418
+ except ValueError:
419
+ return value
420
+ return value
421
+
422
+ @field_serializer("on_backpressure")
423
+ def serialize_on_backpressure(self, value):
424
+ if isinstance(value, str):
425
+ try:
426
+ return models.OutputHoneycombBackpressureBehavior(value)
427
+ except ValueError:
428
+ return value
429
+ return value
430
+
431
+ @field_serializer("auth_type")
432
+ def serialize_auth_type(self, value):
433
+ if isinstance(value, str):
434
+ try:
435
+ return models.OutputHoneycombAuthenticationMethod(value)
436
+ except ValueError:
437
+ return value
438
+ return value
439
+
440
+ @field_serializer("pq_mode")
441
+ def serialize_pq_mode(self, value):
442
+ if isinstance(value, str):
443
+ try:
444
+ return models.OutputHoneycombMode(value)
445
+ except ValueError:
446
+ return value
447
+ return value
448
+
449
+ @field_serializer("pq_compress")
450
+ def serialize_pq_compress(self, value):
451
+ if isinstance(value, str):
452
+ try:
453
+ return models.OutputHoneycombCompression(value)
454
+ except ValueError:
455
+ return value
456
+ return value
457
+
458
+ @field_serializer("pq_on_backpressure")
459
+ def serialize_pq_on_backpressure(self, value):
460
+ if isinstance(value, str):
461
+ try:
462
+ return models.OutputHoneycombQueueFullBehavior(value)
463
+ except ValueError:
464
+ return value
465
+ 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
@@ -118,6 +119,17 @@ class OutputHumioHecBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
118
119
  QUEUE = "queue"
119
120
 
120
121
 
122
+ class OutputHumioHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ 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."""
124
+
125
+ # Error
126
+ ERROR = "error"
127
+ # Backpressure
128
+ ALWAYS = "always"
129
+ # Always On
130
+ BACKPRESSURE = "backpressure"
131
+
132
+
121
133
  class OutputHumioHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
122
134
  r"""Codec to use to compress the persisted data"""
123
135
 
@@ -136,17 +148,6 @@ class OutputHumioHecQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
136
148
  DROP = "drop"
137
149
 
138
150
 
139
- class OutputHumioHecMode(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
- BACKPRESSURE = "backpressure"
146
- # Always On
147
- ALWAYS = "always"
148
-
149
-
150
151
  class OutputHumioHecPqControlsTypedDict(TypedDict):
151
152
  pass
152
153
 
@@ -212,6 +213,16 @@ class OutputHumioHecTypedDict(TypedDict):
212
213
  r"""CrowdStrike Falcon LogScale authentication token"""
213
214
  text_secret: NotRequired[str]
214
215
  r"""Select or create a stored text secret"""
216
+ pq_strict_ordering: NotRequired[bool]
217
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
218
+ pq_rate_per_sec: NotRequired[float]
219
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
220
+ pq_mode: NotRequired[OutputHumioHecMode]
221
+ 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."""
222
+ pq_max_buffer_size: NotRequired[float]
223
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
224
+ pq_max_backpressure_sec: NotRequired[float]
225
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
215
226
  pq_max_file_size: NotRequired[str]
216
227
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
217
228
  pq_max_size: NotRequired[str]
@@ -222,8 +233,6 @@ class OutputHumioHecTypedDict(TypedDict):
222
233
  r"""Codec to use to compress the persisted data"""
223
234
  pq_on_backpressure: NotRequired[OutputHumioHecQueueFullBehavior]
224
235
  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."""
225
- pq_mode: NotRequired[OutputHumioHecMode]
226
- 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."""
227
236
  pq_controls: NotRequired[OutputHumioHecPqControlsTypedDict]
228
237
 
229
238
 
@@ -358,6 +367,34 @@ class OutputHumioHec(BaseModel):
358
367
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
359
368
  r"""Select or create a stored text secret"""
360
369
 
370
+ pq_strict_ordering: Annotated[
371
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
372
+ ] = True
373
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
374
+
375
+ pq_rate_per_sec: Annotated[
376
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
377
+ ] = 0
378
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
379
+
380
+ pq_mode: Annotated[
381
+ Annotated[
382
+ Optional[OutputHumioHecMode], PlainValidator(validate_open_enum(False))
383
+ ],
384
+ pydantic.Field(alias="pqMode"),
385
+ ] = OutputHumioHecMode.ERROR
386
+ 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."""
387
+
388
+ pq_max_buffer_size: Annotated[
389
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
390
+ ] = 42
391
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
392
+
393
+ pq_max_backpressure_sec: Annotated[
394
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
395
+ ] = 30
396
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
397
+
361
398
  pq_max_file_size: Annotated[
362
399
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
363
400
  ] = "1 MB"
@@ -389,14 +426,69 @@ class OutputHumioHec(BaseModel):
389
426
  ] = OutputHumioHecQueueFullBehavior.BLOCK
390
427
  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."""
391
428
 
392
- pq_mode: Annotated[
393
- Annotated[
394
- Optional[OutputHumioHecMode], PlainValidator(validate_open_enum(False))
395
- ],
396
- pydantic.Field(alias="pqMode"),
397
- ] = OutputHumioHecMode.ERROR
398
- 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."""
399
-
400
429
  pq_controls: Annotated[
401
430
  Optional[OutputHumioHecPqControls], pydantic.Field(alias="pqControls")
402
431
  ] = None
432
+
433
+ @field_serializer("failed_request_logging_mode")
434
+ def serialize_failed_request_logging_mode(self, value):
435
+ if isinstance(value, str):
436
+ try:
437
+ return models.OutputHumioHecFailedRequestLoggingMode(value)
438
+ except ValueError:
439
+ return value
440
+ return value
441
+
442
+ @field_serializer("format_")
443
+ def serialize_format_(self, value):
444
+ if isinstance(value, str):
445
+ try:
446
+ return models.OutputHumioHecRequestFormat(value)
447
+ except ValueError:
448
+ return value
449
+ return value
450
+
451
+ @field_serializer("auth_type")
452
+ def serialize_auth_type(self, value):
453
+ if isinstance(value, str):
454
+ try:
455
+ return models.OutputHumioHecAuthenticationMethod(value)
456
+ except ValueError:
457
+ return value
458
+ return value
459
+
460
+ @field_serializer("on_backpressure")
461
+ def serialize_on_backpressure(self, value):
462
+ if isinstance(value, str):
463
+ try:
464
+ return models.OutputHumioHecBackpressureBehavior(value)
465
+ except ValueError:
466
+ return value
467
+ return value
468
+
469
+ @field_serializer("pq_mode")
470
+ def serialize_pq_mode(self, value):
471
+ if isinstance(value, str):
472
+ try:
473
+ return models.OutputHumioHecMode(value)
474
+ except ValueError:
475
+ return value
476
+ return value
477
+
478
+ @field_serializer("pq_compress")
479
+ def serialize_pq_compress(self, value):
480
+ if isinstance(value, str):
481
+ try:
482
+ return models.OutputHumioHecCompression(value)
483
+ except ValueError:
484
+ return value
485
+ return value
486
+
487
+ @field_serializer("pq_on_backpressure")
488
+ def serialize_pq_on_backpressure(self, value):
489
+ if isinstance(value, str):
490
+ try:
491
+ return models.OutputHumioHecQueueFullBehavior(value)
492
+ except ValueError:
493
+ return value
494
+ 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
@@ -130,6 +131,17 @@ class OutputInfluxdbAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
130
131
  OAUTH = "oauth"
131
132
 
132
133
 
134
+ class OutputInfluxdbMode(str, Enum, metaclass=utils.OpenEnumMeta):
135
+ 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."""
136
+
137
+ # Error
138
+ ERROR = "error"
139
+ # Backpressure
140
+ ALWAYS = "always"
141
+ # Always On
142
+ BACKPRESSURE = "backpressure"
143
+
144
+
133
145
  class OutputInfluxdbCompression(str, Enum, metaclass=utils.OpenEnumMeta):
134
146
  r"""Codec to use to compress the persisted data"""
135
147
 
@@ -148,17 +160,6 @@ class OutputInfluxdbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
148
160
  DROP = "drop"
149
161
 
150
162
 
151
- class OutputInfluxdbMode(str, Enum, metaclass=utils.OpenEnumMeta):
152
- 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."""
153
-
154
- # Error
155
- ERROR = "error"
156
- # Backpressure
157
- BACKPRESSURE = "backpressure"
158
- # Always On
159
- ALWAYS = "always"
160
-
161
-
162
163
  class OutputInfluxdbPqControlsTypedDict(TypedDict):
163
164
  pass
164
165
 
@@ -262,6 +263,16 @@ class OutputInfluxdbTypedDict(TypedDict):
262
263
  r"""Bucket to write to."""
263
264
  org: NotRequired[str]
264
265
  r"""Organization ID for this bucket."""
266
+ pq_strict_ordering: NotRequired[bool]
267
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
268
+ pq_rate_per_sec: NotRequired[float]
269
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
270
+ pq_mode: NotRequired[OutputInfluxdbMode]
271
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
272
+ pq_max_buffer_size: NotRequired[float]
273
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
274
+ pq_max_backpressure_sec: NotRequired[float]
275
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
265
276
  pq_max_file_size: NotRequired[str]
266
277
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
267
278
  pq_max_size: NotRequired[str]
@@ -272,8 +283,6 @@ class OutputInfluxdbTypedDict(TypedDict):
272
283
  r"""Codec to use to compress the persisted data"""
273
284
  pq_on_backpressure: NotRequired[OutputInfluxdbQueueFullBehavior]
274
285
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
275
- pq_mode: NotRequired[OutputInfluxdbMode]
276
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
277
286
  pq_controls: NotRequired[OutputInfluxdbPqControlsTypedDict]
278
287
  username: NotRequired[str]
279
288
  password: NotRequired[str]
@@ -447,6 +456,34 @@ class OutputInfluxdb(BaseModel):
447
456
  org: Optional[str] = None
448
457
  r"""Organization ID for this bucket."""
449
458
 
459
+ pq_strict_ordering: Annotated[
460
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
461
+ ] = True
462
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
463
+
464
+ pq_rate_per_sec: Annotated[
465
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
466
+ ] = 0
467
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
468
+
469
+ pq_mode: Annotated[
470
+ Annotated[
471
+ Optional[OutputInfluxdbMode], PlainValidator(validate_open_enum(False))
472
+ ],
473
+ pydantic.Field(alias="pqMode"),
474
+ ] = OutputInfluxdbMode.ERROR
475
+ 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."""
476
+
477
+ pq_max_buffer_size: Annotated[
478
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
479
+ ] = 42
480
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
481
+
482
+ pq_max_backpressure_sec: Annotated[
483
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
484
+ ] = 30
485
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
486
+
450
487
  pq_max_file_size: Annotated[
451
488
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
452
489
  ] = "1 MB"
@@ -478,14 +515,6 @@ class OutputInfluxdb(BaseModel):
478
515
  ] = OutputInfluxdbQueueFullBehavior.BLOCK
479
516
  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."""
480
517
 
481
- pq_mode: Annotated[
482
- Annotated[
483
- Optional[OutputInfluxdbMode], PlainValidator(validate_open_enum(False))
484
- ],
485
- pydantic.Field(alias="pqMode"),
486
- ] = OutputInfluxdbMode.ERROR
487
- 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."""
488
-
489
518
  pq_controls: Annotated[
490
519
  Optional[OutputInfluxdbPqControls], pydantic.Field(alias="pqControls")
491
520
  ] = None
@@ -540,3 +569,66 @@ class OutputInfluxdb(BaseModel):
540
569
  Optional[List[OutputInfluxdbOauthHeader]], pydantic.Field(alias="oauthHeaders")
541
570
  ] = None
542
571
  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."""
572
+
573
+ @field_serializer("timestamp_precision")
574
+ def serialize_timestamp_precision(self, value):
575
+ if isinstance(value, str):
576
+ try:
577
+ return models.TimestampPrecision(value)
578
+ except ValueError:
579
+ return value
580
+ return value
581
+
582
+ @field_serializer("failed_request_logging_mode")
583
+ def serialize_failed_request_logging_mode(self, value):
584
+ if isinstance(value, str):
585
+ try:
586
+ return models.OutputInfluxdbFailedRequestLoggingMode(value)
587
+ except ValueError:
588
+ return value
589
+ return value
590
+
591
+ @field_serializer("on_backpressure")
592
+ def serialize_on_backpressure(self, value):
593
+ if isinstance(value, str):
594
+ try:
595
+ return models.OutputInfluxdbBackpressureBehavior(value)
596
+ except ValueError:
597
+ return value
598
+ return value
599
+
600
+ @field_serializer("auth_type")
601
+ def serialize_auth_type(self, value):
602
+ if isinstance(value, str):
603
+ try:
604
+ return models.OutputInfluxdbAuthenticationType(value)
605
+ except ValueError:
606
+ return value
607
+ return value
608
+
609
+ @field_serializer("pq_mode")
610
+ def serialize_pq_mode(self, value):
611
+ if isinstance(value, str):
612
+ try:
613
+ return models.OutputInfluxdbMode(value)
614
+ except ValueError:
615
+ return value
616
+ return value
617
+
618
+ @field_serializer("pq_compress")
619
+ def serialize_pq_compress(self, value):
620
+ if isinstance(value, str):
621
+ try:
622
+ return models.OutputInfluxdbCompression(value)
623
+ except ValueError:
624
+ return value
625
+ return value
626
+
627
+ @field_serializer("pq_on_backpressure")
628
+ def serialize_pq_on_backpressure(self, value):
629
+ if isinstance(value, str):
630
+ try:
631
+ return models.OutputInfluxdbQueueFullBehavior(value)
632
+ except ValueError:
633
+ return value
634
+ return value