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
@@ -89,22 +88,16 @@ class OutputChronicleExtraHTTPHeader(BaseModel):
89
88
  class OutputChronicleFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
90
89
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
91
90
 
92
- # Payload
93
91
  PAYLOAD = "payload"
94
- # Payload + Headers
95
92
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
96
- # None
97
93
  NONE = "none"
98
94
 
99
95
 
100
96
  class OutputChronicleBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
101
97
  r"""How to handle events when all receivers are exerting backpressure"""
102
98
 
103
- # Block
104
99
  BLOCK = "block"
105
- # Drop
106
100
  DROP = "drop"
107
- # Persistent Queue
108
101
  QUEUE = "queue"
109
102
 
110
103
 
@@ -119,35 +112,28 @@ class OutputChronicleCustomLabel(BaseModel):
119
112
  value: str
120
113
 
121
114
 
122
- class OutputChronicleMode(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
-
133
115
  class OutputChronicleCompression(str, Enum, metaclass=utils.OpenEnumMeta):
134
116
  r"""Codec to use to compress the persisted data"""
135
117
 
136
- # None
137
118
  NONE = "none"
138
- # Gzip
139
119
  GZIP = "gzip"
140
120
 
141
121
 
142
122
  class OutputChronicleQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
143
123
  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."""
144
124
 
145
- # Block
146
125
  BLOCK = "block"
147
- # Drop new data
148
126
  DROP = "drop"
149
127
 
150
128
 
129
+ class OutputChronicleMode(str, Enum, metaclass=utils.OpenEnumMeta):
130
+ 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."""
131
+
132
+ ERROR = "error"
133
+ BACKPRESSURE = "backpressure"
134
+ ALWAYS = "always"
135
+
136
+
151
137
  class OutputChroniclePqControlsTypedDict(TypedDict):
152
138
  pass
153
139
 
@@ -226,16 +212,6 @@ class OutputChronicleTypedDict(TypedDict):
226
212
  r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right."""
227
213
  service_account_credentials_secret: NotRequired[str]
228
214
  r"""Select or create a stored text secret"""
229
- pq_strict_ordering: NotRequired[bool]
230
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
231
- pq_rate_per_sec: NotRequired[float]
232
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
233
- pq_mode: NotRequired[OutputChronicleMode]
234
- 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."""
235
- pq_max_buffer_size: NotRequired[float]
236
- r"""The maximum number of events to hold in memory before writing the events to disk"""
237
- pq_max_backpressure_sec: NotRequired[float]
238
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
239
215
  pq_max_file_size: NotRequired[str]
240
216
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
241
217
  pq_max_size: NotRequired[str]
@@ -246,6 +222,8 @@ class OutputChronicleTypedDict(TypedDict):
246
222
  r"""Codec to use to compress the persisted data"""
247
223
  pq_on_backpressure: NotRequired[OutputChronicleQueueFullBehavior]
248
224
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
225
+ pq_mode: NotRequired[OutputChronicleMode]
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."""
249
227
  pq_controls: NotRequired[OutputChroniclePqControlsTypedDict]
250
228
 
251
229
 
@@ -409,34 +387,6 @@ class OutputChronicle(BaseModel):
409
387
  ] = None
410
388
  r"""Select or create a stored text secret"""
411
389
 
412
- pq_strict_ordering: Annotated[
413
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
414
- ] = True
415
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
416
-
417
- pq_rate_per_sec: Annotated[
418
- Optional[float], pydantic.Field(alias="pqRatePerSec")
419
- ] = 0
420
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
421
-
422
- pq_mode: Annotated[
423
- Annotated[
424
- Optional[OutputChronicleMode], PlainValidator(validate_open_enum(False))
425
- ],
426
- pydantic.Field(alias="pqMode"),
427
- ] = OutputChronicleMode.ERROR
428
- 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."""
429
-
430
- pq_max_buffer_size: Annotated[
431
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
432
- ] = 42
433
- r"""The maximum number of events to hold in memory before writing the events to disk"""
434
-
435
- pq_max_backpressure_sec: Annotated[
436
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
437
- ] = 30
438
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
439
-
440
390
  pq_max_file_size: Annotated[
441
391
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
442
392
  ] = "1 MB"
@@ -468,60 +418,14 @@ class OutputChronicle(BaseModel):
468
418
  ] = OutputChronicleQueueFullBehavior.BLOCK
469
419
  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."""
470
420
 
421
+ pq_mode: Annotated[
422
+ Annotated[
423
+ Optional[OutputChronicleMode], PlainValidator(validate_open_enum(False))
424
+ ],
425
+ pydantic.Field(alias="pqMode"),
426
+ ] = OutputChronicleMode.ERROR
427
+ 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."""
428
+
471
429
  pq_controls: Annotated[
472
430
  Optional[OutputChroniclePqControls], pydantic.Field(alias="pqControls")
473
431
  ] = None
474
-
475
- @field_serializer("authentication_method")
476
- def serialize_authentication_method(self, value):
477
- if isinstance(value, str):
478
- try:
479
- return models.OutputChronicleAuthenticationMethod(value)
480
- except ValueError:
481
- return value
482
- return value
483
-
484
- @field_serializer("failed_request_logging_mode")
485
- def serialize_failed_request_logging_mode(self, value):
486
- if isinstance(value, str):
487
- try:
488
- return models.OutputChronicleFailedRequestLoggingMode(value)
489
- except ValueError:
490
- return value
491
- return value
492
-
493
- @field_serializer("on_backpressure")
494
- def serialize_on_backpressure(self, value):
495
- if isinstance(value, str):
496
- try:
497
- return models.OutputChronicleBackpressureBehavior(value)
498
- except ValueError:
499
- return value
500
- return value
501
-
502
- @field_serializer("pq_mode")
503
- def serialize_pq_mode(self, value):
504
- if isinstance(value, str):
505
- try:
506
- return models.OutputChronicleMode(value)
507
- except ValueError:
508
- return value
509
- return value
510
-
511
- @field_serializer("pq_compress")
512
- def serialize_pq_compress(self, value):
513
- if isinstance(value, str):
514
- try:
515
- return models.OutputChronicleCompression(value)
516
- except ValueError:
517
- return value
518
- return value
519
-
520
- @field_serializer("pq_on_backpressure")
521
- def serialize_pq_on_backpressure(self, value):
522
- if isinstance(value, str):
523
- try:
524
- return models.OutputChronicleQueueFullBehavior(value)
525
- except ValueError:
526
- return value
527
- 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
@@ -29,18 +28,14 @@ class OutputClickHouseAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta
29
28
  class OutputClickHouseFormat(str, Enum, metaclass=utils.OpenEnumMeta):
30
29
  r"""Data format to use when sending data to ClickHouse. Defaults to JSON Compact."""
31
30
 
32
- # JSONCompactEachRowWithNames
33
31
  JSON_COMPACT_EACH_ROW_WITH_NAMES = "json-compact-each-row-with-names"
34
- # JSONEachRow
35
32
  JSON_EACH_ROW = "json-each-row"
36
33
 
37
34
 
38
35
  class MappingType(str, Enum, metaclass=utils.OpenEnumMeta):
39
36
  r"""How event fields are mapped to ClickHouse columns."""
40
37
 
41
- # Automatic
42
38
  AUTOMATIC = "automatic"
43
- # Custom
44
39
  CUSTOM = "custom"
45
40
 
46
41
 
@@ -115,24 +110,6 @@ class OutputClickHouseTLSSettingsClientSide(BaseModel):
115
110
  pydantic.Field(alias="maxVersion"),
116
111
  ] = None
117
112
 
118
- @field_serializer("min_version")
119
- def serialize_min_version(self, value):
120
- if isinstance(value, str):
121
- try:
122
- return models.OutputClickHouseMinimumTLSVersion(value)
123
- except ValueError:
124
- return value
125
- return value
126
-
127
- @field_serializer("max_version")
128
- def serialize_max_version(self, value):
129
- if isinstance(value, str):
130
- try:
131
- return models.OutputClickHouseMaximumTLSVersion(value)
132
- except ValueError:
133
- return value
134
- return value
135
-
136
113
 
137
114
  class OutputClickHouseExtraHTTPHeaderTypedDict(TypedDict):
138
115
  value: str
@@ -148,11 +125,8 @@ class OutputClickHouseExtraHTTPHeader(BaseModel):
148
125
  class OutputClickHouseFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
149
126
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
150
127
 
151
- # Payload
152
128
  PAYLOAD = "payload"
153
- # Payload + Headers
154
129
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
155
- # None
156
130
  NONE = "none"
157
131
 
158
132
 
@@ -213,11 +187,8 @@ class OutputClickHouseTimeoutRetrySettings(BaseModel):
213
187
  class OutputClickHouseBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
214
188
  r"""How to handle events when all receivers are exerting backpressure"""
215
189
 
216
- # Block
217
190
  BLOCK = "block"
218
- # Drop
219
191
  DROP = "drop"
220
- # Persistent Queue
221
192
  QUEUE = "queue"
222
193
 
223
194
 
@@ -273,35 +244,28 @@ class ColumnMapping(BaseModel):
273
244
  r"""Type of the column in the ClickHouse database"""
274
245
 
275
246
 
276
- class OutputClickHouseMode(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
280
- ERROR = "error"
281
- # Backpressure
282
- ALWAYS = "always"
283
- # Always On
284
- BACKPRESSURE = "backpressure"
285
-
286
-
287
247
  class OutputClickHouseCompression(str, Enum, metaclass=utils.OpenEnumMeta):
288
248
  r"""Codec to use to compress the persisted data"""
289
249
 
290
- # None
291
250
  NONE = "none"
292
- # Gzip
293
251
  GZIP = "gzip"
294
252
 
295
253
 
296
254
  class OutputClickHouseQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
297
255
  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."""
298
256
 
299
- # Block
300
257
  BLOCK = "block"
301
- # Drop new data
302
258
  DROP = "drop"
303
259
 
304
260
 
261
+ class OutputClickHouseMode(str, Enum, metaclass=utils.OpenEnumMeta):
262
+ 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."""
263
+
264
+ ERROR = "error"
265
+ BACKPRESSURE = "backpressure"
266
+ ALWAYS = "always"
267
+
268
+
305
269
  class OutputClickHousePqControlsTypedDict(TypedDict):
306
270
  pass
307
271
 
@@ -405,16 +369,6 @@ class OutputClickHouseTypedDict(TypedDict):
405
369
  describe_table: NotRequired[str]
406
370
  r"""Retrieves the table schema from ClickHouse and populates the Column Mapping table"""
407
371
  column_mappings: NotRequired[List[ColumnMappingTypedDict]]
408
- pq_strict_ordering: NotRequired[bool]
409
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
410
- pq_rate_per_sec: NotRequired[float]
411
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
412
- pq_mode: NotRequired[OutputClickHouseMode]
413
- 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."""
414
- pq_max_buffer_size: NotRequired[float]
415
- r"""The maximum number of events to hold in memory before writing the events to disk"""
416
- pq_max_backpressure_sec: NotRequired[float]
417
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
418
372
  pq_max_file_size: NotRequired[str]
419
373
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
420
374
  pq_max_size: NotRequired[str]
@@ -425,6 +379,8 @@ class OutputClickHouseTypedDict(TypedDict):
425
379
  r"""Codec to use to compress the persisted data"""
426
380
  pq_on_backpressure: NotRequired[OutputClickHouseQueueFullBehavior]
427
381
  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."""
382
+ pq_mode: NotRequired[OutputClickHouseMode]
383
+ 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."""
428
384
  pq_controls: NotRequired[OutputClickHousePqControlsTypedDict]
429
385
 
430
386
 
@@ -648,34 +604,6 @@ class OutputClickHouse(BaseModel):
648
604
  Optional[List[ColumnMapping]], pydantic.Field(alias="columnMappings")
649
605
  ] = None
650
606
 
651
- pq_strict_ordering: Annotated[
652
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
653
- ] = True
654
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
655
-
656
- pq_rate_per_sec: Annotated[
657
- Optional[float], pydantic.Field(alias="pqRatePerSec")
658
- ] = 0
659
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
660
-
661
- pq_mode: Annotated[
662
- Annotated[
663
- Optional[OutputClickHouseMode], PlainValidator(validate_open_enum(False))
664
- ],
665
- pydantic.Field(alias="pqMode"),
666
- ] = OutputClickHouseMode.ERROR
667
- 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."""
668
-
669
- pq_max_buffer_size: Annotated[
670
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
671
- ] = 42
672
- r"""The maximum number of events to hold in memory before writing the events to disk"""
673
-
674
- pq_max_backpressure_sec: Annotated[
675
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
676
- ] = 30
677
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
678
-
679
607
  pq_max_file_size: Annotated[
680
608
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
681
609
  ] = "1 MB"
@@ -707,78 +635,14 @@ class OutputClickHouse(BaseModel):
707
635
  ] = OutputClickHouseQueueFullBehavior.BLOCK
708
636
  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."""
709
637
 
638
+ pq_mode: Annotated[
639
+ Annotated[
640
+ Optional[OutputClickHouseMode], PlainValidator(validate_open_enum(False))
641
+ ],
642
+ pydantic.Field(alias="pqMode"),
643
+ ] = OutputClickHouseMode.ERROR
644
+ 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."""
645
+
710
646
  pq_controls: Annotated[
711
647
  Optional[OutputClickHousePqControls], pydantic.Field(alias="pqControls")
712
648
  ] = None
713
-
714
- @field_serializer("auth_type")
715
- def serialize_auth_type(self, value):
716
- if isinstance(value, str):
717
- try:
718
- return models.OutputClickHouseAuthenticationType(value)
719
- except ValueError:
720
- return value
721
- return value
722
-
723
- @field_serializer("format_")
724
- def serialize_format_(self, value):
725
- if isinstance(value, str):
726
- try:
727
- return models.OutputClickHouseFormat(value)
728
- except ValueError:
729
- return value
730
- return value
731
-
732
- @field_serializer("mapping_type")
733
- def serialize_mapping_type(self, value):
734
- if isinstance(value, str):
735
- try:
736
- return models.MappingType(value)
737
- except ValueError:
738
- return value
739
- return value
740
-
741
- @field_serializer("failed_request_logging_mode")
742
- def serialize_failed_request_logging_mode(self, value):
743
- if isinstance(value, str):
744
- try:
745
- return models.OutputClickHouseFailedRequestLoggingMode(value)
746
- except ValueError:
747
- return value
748
- return value
749
-
750
- @field_serializer("on_backpressure")
751
- def serialize_on_backpressure(self, value):
752
- if isinstance(value, str):
753
- try:
754
- return models.OutputClickHouseBackpressureBehavior(value)
755
- except ValueError:
756
- return value
757
- return value
758
-
759
- @field_serializer("pq_mode")
760
- def serialize_pq_mode(self, value):
761
- if isinstance(value, str):
762
- try:
763
- return models.OutputClickHouseMode(value)
764
- except ValueError:
765
- return value
766
- return value
767
-
768
- @field_serializer("pq_compress")
769
- def serialize_pq_compress(self, value):
770
- if isinstance(value, str):
771
- try:
772
- return models.OutputClickHouseCompression(value)
773
- except ValueError:
774
- return value
775
- return value
776
-
777
- @field_serializer("pq_on_backpressure")
778
- def serialize_pq_on_backpressure(self, value):
779
- if isinstance(value, str):
780
- try:
781
- return models.OutputClickHouseQueueFullBehavior(value)
782
- except ValueError:
783
- return value
784
- 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
@@ -19,54 +18,41 @@ class OutputCloudwatchType(str, Enum):
19
18
  class OutputCloudwatchAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
20
19
  r"""AWS authentication method. Choose Auto to use IAM roles."""
21
20
 
22
- # Auto
23
21
  AUTO = "auto"
24
- # Manual
25
22
  MANUAL = "manual"
26
- # Secret Key pair
27
23
  SECRET = "secret"
28
24
 
29
25
 
30
26
  class OutputCloudwatchBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
31
27
  r"""How to handle events when all receivers are exerting backpressure"""
32
28
 
33
- # Block
34
29
  BLOCK = "block"
35
- # Drop
36
30
  DROP = "drop"
37
- # Persistent Queue
38
31
  QUEUE = "queue"
39
32
 
40
33
 
41
- class OutputCloudwatchMode(str, Enum, metaclass=utils.OpenEnumMeta):
42
- 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."""
43
-
44
- # Error
45
- ERROR = "error"
46
- # Backpressure
47
- ALWAYS = "always"
48
- # Always On
49
- BACKPRESSURE = "backpressure"
50
-
51
-
52
34
  class OutputCloudwatchCompression(str, Enum, metaclass=utils.OpenEnumMeta):
53
35
  r"""Codec to use to compress the persisted data"""
54
36
 
55
- # None
56
37
  NONE = "none"
57
- # Gzip
58
38
  GZIP = "gzip"
59
39
 
60
40
 
61
41
  class OutputCloudwatchQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
62
42
  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."""
63
43
 
64
- # Block
65
44
  BLOCK = "block"
66
- # Drop new data
67
45
  DROP = "drop"
68
46
 
69
47
 
48
+ class OutputCloudwatchMode(str, Enum, metaclass=utils.OpenEnumMeta):
49
+ 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."""
50
+
51
+ ERROR = "error"
52
+ BACKPRESSURE = "backpressure"
53
+ ALWAYS = "always"
54
+
55
+
70
56
  class OutputCloudwatchPqControlsTypedDict(TypedDict):
71
57
  pass
72
58
 
@@ -122,16 +108,6 @@ class OutputCloudwatchTypedDict(TypedDict):
122
108
  aws_api_key: NotRequired[str]
123
109
  aws_secret: NotRequired[str]
124
110
  r"""Select or create a stored secret that references your access key and secret key"""
125
- pq_strict_ordering: NotRequired[bool]
126
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
127
- pq_rate_per_sec: NotRequired[float]
128
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
129
- pq_mode: NotRequired[OutputCloudwatchMode]
130
- 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."""
131
- pq_max_buffer_size: NotRequired[float]
132
- r"""The maximum number of events to hold in memory before writing the events to disk"""
133
- pq_max_backpressure_sec: NotRequired[float]
134
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
135
111
  pq_max_file_size: NotRequired[str]
136
112
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
137
113
  pq_max_size: NotRequired[str]
@@ -142,6 +118,8 @@ class OutputCloudwatchTypedDict(TypedDict):
142
118
  r"""Codec to use to compress the persisted data"""
143
119
  pq_on_backpressure: NotRequired[OutputCloudwatchQueueFullBehavior]
144
120
  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."""
121
+ pq_mode: NotRequired[OutputCloudwatchMode]
122
+ 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."""
145
123
  pq_controls: NotRequired[OutputCloudwatchPqControlsTypedDict]
146
124
 
147
125
 
@@ -249,34 +227,6 @@ class OutputCloudwatch(BaseModel):
249
227
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
250
228
  r"""Select or create a stored secret that references your access key and secret key"""
251
229
 
252
- pq_strict_ordering: Annotated[
253
- Optional[bool], pydantic.Field(alias="pqStrictOrdering")
254
- ] = True
255
- r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
256
-
257
- pq_rate_per_sec: Annotated[
258
- Optional[float], pydantic.Field(alias="pqRatePerSec")
259
- ] = 0
260
- r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
261
-
262
- pq_mode: Annotated[
263
- Annotated[
264
- Optional[OutputCloudwatchMode], PlainValidator(validate_open_enum(False))
265
- ],
266
- pydantic.Field(alias="pqMode"),
267
- ] = OutputCloudwatchMode.ERROR
268
- 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."""
269
-
270
- pq_max_buffer_size: Annotated[
271
- Optional[float], pydantic.Field(alias="pqMaxBufferSize")
272
- ] = 42
273
- r"""The maximum number of events to hold in memory before writing the events to disk"""
274
-
275
- pq_max_backpressure_sec: Annotated[
276
- Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
277
- ] = 30
278
- r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
279
-
280
230
  pq_max_file_size: Annotated[
281
231
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
282
232
  ] = "1 MB"
@@ -308,51 +258,14 @@ class OutputCloudwatch(BaseModel):
308
258
  ] = OutputCloudwatchQueueFullBehavior.BLOCK
309
259
  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."""
310
260
 
261
+ pq_mode: Annotated[
262
+ Annotated[
263
+ Optional[OutputCloudwatchMode], PlainValidator(validate_open_enum(False))
264
+ ],
265
+ pydantic.Field(alias="pqMode"),
266
+ ] = OutputCloudwatchMode.ERROR
267
+ 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."""
268
+
311
269
  pq_controls: Annotated[
312
270
  Optional[OutputCloudwatchPqControls], pydantic.Field(alias="pqControls")
313
271
  ] = None
314
-
315
- @field_serializer("aws_authentication_method")
316
- def serialize_aws_authentication_method(self, value):
317
- if isinstance(value, str):
318
- try:
319
- return models.OutputCloudwatchAuthenticationMethod(value)
320
- except ValueError:
321
- return value
322
- return value
323
-
324
- @field_serializer("on_backpressure")
325
- def serialize_on_backpressure(self, value):
326
- if isinstance(value, str):
327
- try:
328
- return models.OutputCloudwatchBackpressureBehavior(value)
329
- except ValueError:
330
- return value
331
- return value
332
-
333
- @field_serializer("pq_mode")
334
- def serialize_pq_mode(self, value):
335
- if isinstance(value, str):
336
- try:
337
- return models.OutputCloudwatchMode(value)
338
- except ValueError:
339
- return value
340
- return value
341
-
342
- @field_serializer("pq_compress")
343
- def serialize_pq_compress(self, value):
344
- if isinstance(value, str):
345
- try:
346
- return models.OutputCloudwatchCompression(value)
347
- except ValueError:
348
- return value
349
- return value
350
-
351
- @field_serializer("pq_on_backpressure")
352
- def serialize_pq_on_backpressure(self, value):
353
- if isinstance(value, str):
354
- try:
355
- return models.OutputCloudwatchQueueFullBehavior(value)
356
- except ValueError:
357
- return value
358
- return value