cribl-control-plane 0.0.16__py3-none-any.whl → 0.0.18__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 (156) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +2 -8
  3. cribl_control_plane/models/__init__.py +4365 -4124
  4. cribl_control_plane/models/createinputop.py +1734 -2771
  5. cribl_control_plane/models/createoutputop.py +2153 -4314
  6. cribl_control_plane/models/createversioncommitop.py +24 -0
  7. cribl_control_plane/models/createversionpushop.py +23 -0
  8. cribl_control_plane/models/createversionrevertop.py +47 -0
  9. cribl_control_plane/models/createversionsyncop.py +23 -0
  10. cribl_control_plane/models/createversionundoop.py +37 -0
  11. cribl_control_plane/models/getversionbranchop.py +23 -0
  12. cribl_control_plane/models/getversioncountop.py +47 -0
  13. cribl_control_plane/models/getversioncurrentbranchop.py +23 -0
  14. cribl_control_plane/models/getversiondiffop.py +63 -0
  15. cribl_control_plane/models/getversionfilesop.py +48 -0
  16. cribl_control_plane/models/getversioninfoop.py +24 -0
  17. cribl_control_plane/models/getversionshowop.py +63 -0
  18. cribl_control_plane/models/getversionstatusop.py +38 -0
  19. cribl_control_plane/models/gitcommitparams.py +23 -0
  20. cribl_control_plane/models/gitcommitsummary.py +68 -0
  21. cribl_control_plane/models/gitfile.py +20 -0
  22. cribl_control_plane/models/gitfilesresponse.py +22 -0
  23. cribl_control_plane/models/gitinfo.py +23 -0
  24. cribl_control_plane/models/gitrevertparams.py +20 -0
  25. cribl_control_plane/models/gitrevertresult.py +48 -0
  26. cribl_control_plane/models/gitstatusresult.py +73 -0
  27. cribl_control_plane/models/healthstatus.py +4 -7
  28. cribl_control_plane/models/inputappscope.py +16 -36
  29. cribl_control_plane/models/inputazureblob.py +8 -19
  30. cribl_control_plane/models/inputcollection.py +6 -15
  31. cribl_control_plane/models/inputconfluentcloud.py +20 -45
  32. cribl_control_plane/models/inputcribl.py +6 -13
  33. cribl_control_plane/models/inputcriblhttp.py +10 -27
  34. cribl_control_plane/models/inputcribllakehttp.py +12 -26
  35. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  36. cribl_control_plane/models/inputcribltcp.py +10 -27
  37. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  38. cribl_control_plane/models/inputdatadogagent.py +10 -28
  39. cribl_control_plane/models/inputdatagen.py +6 -13
  40. cribl_control_plane/models/inputedgeprometheus.py +31 -64
  41. cribl_control_plane/models/inputelastic.py +16 -44
  42. cribl_control_plane/models/inputeventhub.py +8 -19
  43. cribl_control_plane/models/inputexec.py +8 -16
  44. cribl_control_plane/models/inputfile.py +8 -17
  45. cribl_control_plane/models/inputfirehose.py +10 -27
  46. cribl_control_plane/models/inputgooglepubsub.py +8 -23
  47. cribl_control_plane/models/inputgrafana_union.py +35 -81
  48. cribl_control_plane/models/inputhttp.py +10 -27
  49. cribl_control_plane/models/inputhttpraw.py +10 -27
  50. cribl_control_plane/models/inputjournalfiles.py +6 -16
  51. cribl_control_plane/models/inputkafka.py +16 -45
  52. cribl_control_plane/models/inputkinesis.py +16 -42
  53. cribl_control_plane/models/inputkubeevents.py +6 -13
  54. cribl_control_plane/models/inputkubelogs.py +10 -18
  55. cribl_control_plane/models/inputkubemetrics.py +10 -18
  56. cribl_control_plane/models/inputloki.py +12 -33
  57. cribl_control_plane/models/inputmetrics.py +10 -25
  58. cribl_control_plane/models/inputmodeldriventelemetry.py +12 -32
  59. cribl_control_plane/models/inputmsk.py +18 -52
  60. cribl_control_plane/models/inputnetflow.py +6 -15
  61. cribl_control_plane/models/inputoffice365mgmt.py +16 -37
  62. cribl_control_plane/models/inputoffice365msgtrace.py +18 -39
  63. cribl_control_plane/models/inputoffice365service.py +18 -39
  64. cribl_control_plane/models/inputopentelemetry.py +18 -42
  65. cribl_control_plane/models/inputprometheus.py +20 -54
  66. cribl_control_plane/models/inputprometheusrw.py +12 -34
  67. cribl_control_plane/models/inputrawudp.py +6 -15
  68. cribl_control_plane/models/inputs3.py +10 -23
  69. cribl_control_plane/models/inputs3inventory.py +12 -28
  70. cribl_control_plane/models/inputsecuritylake.py +12 -29
  71. cribl_control_plane/models/inputsnmp.py +8 -20
  72. cribl_control_plane/models/inputsplunk.py +14 -37
  73. cribl_control_plane/models/inputsplunkhec.py +12 -33
  74. cribl_control_plane/models/inputsplunksearch.py +16 -37
  75. cribl_control_plane/models/inputsqs.py +12 -31
  76. cribl_control_plane/models/inputsyslog_union.py +29 -53
  77. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  78. cribl_control_plane/models/inputsystemstate.py +10 -18
  79. cribl_control_plane/models/inputtcp.py +12 -33
  80. cribl_control_plane/models/inputtcpjson.py +12 -33
  81. cribl_control_plane/models/inputwef.py +20 -45
  82. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  83. cribl_control_plane/models/inputwineventlogs.py +12 -22
  84. cribl_control_plane/models/inputwiz.py +10 -25
  85. cribl_control_plane/models/inputzscalerhec.py +12 -33
  86. cribl_control_plane/models/output.py +3 -6
  87. cribl_control_plane/models/outputazureblob.py +20 -52
  88. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  89. cribl_control_plane/models/outputazureeventhub.py +20 -44
  90. cribl_control_plane/models/outputazurelogs.py +14 -37
  91. cribl_control_plane/models/outputclickhouse.py +22 -59
  92. cribl_control_plane/models/outputcloudwatch.py +12 -33
  93. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  94. cribl_control_plane/models/outputcriblhttp.py +18 -46
  95. cribl_control_plane/models/outputcribllake.py +18 -48
  96. cribl_control_plane/models/outputcribltcp.py +20 -47
  97. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  98. cribl_control_plane/models/outputdatadog.py +22 -50
  99. cribl_control_plane/models/outputdataset.py +20 -48
  100. cribl_control_plane/models/outputdefault.py +2 -5
  101. cribl_control_plane/models/outputdevnull.py +2 -5
  102. cribl_control_plane/models/outputdiskspool.py +4 -9
  103. cribl_control_plane/models/outputdls3.py +26 -72
  104. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  105. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  106. cribl_control_plane/models/outputelastic.py +20 -45
  107. cribl_control_plane/models/outputelasticcloud.py +14 -40
  108. cribl_control_plane/models/outputexabeam.py +12 -33
  109. cribl_control_plane/models/outputfilesystem.py +16 -41
  110. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  111. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  112. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  113. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  114. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  115. cribl_control_plane/models/outputgraphite.py +16 -35
  116. cribl_control_plane/models/outputhoneycomb.py +14 -37
  117. cribl_control_plane/models/outputhumiohec.py +18 -47
  118. cribl_control_plane/models/outputinfluxdb.py +18 -44
  119. cribl_control_plane/models/outputkafka.py +28 -73
  120. cribl_control_plane/models/outputkinesis.py +18 -44
  121. cribl_control_plane/models/outputloki.py +18 -43
  122. cribl_control_plane/models/outputminio.py +26 -69
  123. cribl_control_plane/models/outputmsk.py +30 -81
  124. cribl_control_plane/models/outputnetflow.py +2 -5
  125. cribl_control_plane/models/outputnewrelic.py +20 -45
  126. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  127. cribl_control_plane/models/outputopentelemetry.py +28 -69
  128. cribl_control_plane/models/outputprometheus.py +14 -37
  129. cribl_control_plane/models/outputring.py +10 -21
  130. cribl_control_plane/models/outputrouter.py +2 -5
  131. cribl_control_plane/models/outputs3.py +28 -72
  132. cribl_control_plane/models/outputsecuritylake.py +20 -56
  133. cribl_control_plane/models/outputsentinel.py +20 -49
  134. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  135. cribl_control_plane/models/outputservicenow.py +26 -64
  136. cribl_control_plane/models/outputsignalfx.py +16 -39
  137. cribl_control_plane/models/outputsnmp.py +2 -5
  138. cribl_control_plane/models/outputsns.py +16 -40
  139. cribl_control_plane/models/outputsplunk.py +26 -64
  140. cribl_control_plane/models/outputsplunkhec.py +14 -37
  141. cribl_control_plane/models/outputsplunklb.py +36 -83
  142. cribl_control_plane/models/outputsqs.py +18 -45
  143. cribl_control_plane/models/outputstatsd.py +16 -34
  144. cribl_control_plane/models/outputstatsdext.py +14 -33
  145. cribl_control_plane/models/outputsumologic.py +14 -37
  146. cribl_control_plane/models/outputsyslog.py +26 -60
  147. cribl_control_plane/models/outputtcpjson.py +22 -54
  148. cribl_control_plane/models/outputwavefront.py +14 -37
  149. cribl_control_plane/models/outputwebhook.py +24 -60
  150. cribl_control_plane/models/outputxsiam.py +16 -37
  151. cribl_control_plane/sdk.py +4 -0
  152. cribl_control_plane/versioning.py +2309 -0
  153. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.18.dist-info}/METADATA +18 -2
  154. cribl_control_plane-0.0.18.dist-info/RECORD +237 -0
  155. cribl_control_plane-0.0.16.dist-info/RECORD +0 -215
  156. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.18.dist-info}/WHEEL +0 -0
@@ -1,21 +1,18 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class OutputWebhookType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputWebhookType(str, Enum):
15
12
  WEBHOOK = "webhook"
16
13
 
17
14
 
18
- class OutputWebhookMethod(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputWebhookMethod(str, Enum):
19
16
  r"""The method to use when sending events"""
20
17
 
21
18
  POST = "POST"
@@ -23,7 +20,7 @@ class OutputWebhookMethod(str, Enum, metaclass=utils.OpenEnumMeta):
23
20
  PATCH = "PATCH"
24
21
 
25
22
 
26
- class OutputWebhookFormat(str, Enum, metaclass=utils.OpenEnumMeta):
23
+ class OutputWebhookFormat(str, Enum):
27
24
  r"""How to format events before sending out"""
28
25
 
29
26
  NDJSON = "ndjson"
@@ -43,7 +40,7 @@ class OutputWebhookExtraHTTPHeader(BaseModel):
43
40
  name: Optional[str] = None
44
41
 
45
42
 
46
- class OutputWebhookFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
43
+ class OutputWebhookFailedRequestLoggingMode(str, Enum):
47
44
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
48
45
 
49
46
  PAYLOAD = "payload"
@@ -105,7 +102,7 @@ class OutputWebhookTimeoutRetrySettings(BaseModel):
105
102
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
106
103
 
107
104
 
108
- class OutputWebhookBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
105
+ class OutputWebhookBackpressureBehavior(str, Enum):
109
106
  r"""How to handle events when all receivers are exerting backpressure"""
110
107
 
111
108
  BLOCK = "block"
@@ -113,7 +110,7 @@ class OutputWebhookBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta)
113
110
  QUEUE = "queue"
114
111
 
115
112
 
116
- class OutputWebhookAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
113
+ class OutputWebhookAuthenticationType(str, Enum):
117
114
  r"""Authentication method to use for the HTTP request"""
118
115
 
119
116
  NONE = "none"
@@ -124,14 +121,14 @@ class OutputWebhookAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
124
121
  OAUTH = "oauth"
125
122
 
126
123
 
127
- class OutputWebhookMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
124
+ class OutputWebhookMinimumTLSVersion(str, Enum):
128
125
  TL_SV1 = "TLSv1"
129
126
  TL_SV1_1 = "TLSv1.1"
130
127
  TL_SV1_2 = "TLSv1.2"
131
128
  TL_SV1_3 = "TLSv1.3"
132
129
 
133
130
 
134
- class OutputWebhookMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
131
+ class OutputWebhookMaximumTLSVersion(str, Enum):
135
132
  TL_SV1 = "TLSv1"
136
133
  TL_SV1_1 = "TLSv1.1"
137
134
  TL_SV1_2 = "TLSv1.2"
@@ -180,37 +177,29 @@ class OutputWebhookTLSSettingsClientSide(BaseModel):
180
177
  r"""Passphrase to use to decrypt private key"""
181
178
 
182
179
  min_version: Annotated[
183
- Annotated[
184
- Optional[OutputWebhookMinimumTLSVersion],
185
- PlainValidator(validate_open_enum(False)),
186
- ],
187
- pydantic.Field(alias="minVersion"),
180
+ Optional[OutputWebhookMinimumTLSVersion], pydantic.Field(alias="minVersion")
188
181
  ] = None
189
182
 
190
183
  max_version: Annotated[
191
- Annotated[
192
- Optional[OutputWebhookMaximumTLSVersion],
193
- PlainValidator(validate_open_enum(False)),
194
- ],
195
- pydantic.Field(alias="maxVersion"),
184
+ Optional[OutputWebhookMaximumTLSVersion], pydantic.Field(alias="maxVersion")
196
185
  ] = None
197
186
 
198
187
 
199
- class OutputWebhookCompression(str, Enum, metaclass=utils.OpenEnumMeta):
188
+ class OutputWebhookCompression(str, Enum):
200
189
  r"""Codec to use to compress the persisted data"""
201
190
 
202
191
  NONE = "none"
203
192
  GZIP = "gzip"
204
193
 
205
194
 
206
- class OutputWebhookQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
195
+ class OutputWebhookQueueFullBehavior(str, Enum):
207
196
  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."""
208
197
 
209
198
  BLOCK = "block"
210
199
  DROP = "drop"
211
200
 
212
201
 
213
- class OutputWebhookMode(str, Enum, metaclass=utils.OpenEnumMeta):
202
+ class OutputWebhookMode(str, Enum):
214
203
  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."""
215
204
 
216
205
  ERROR = "error"
@@ -399,7 +388,7 @@ class OutputWebhook(BaseModel):
399
388
  id: str
400
389
  r"""Unique ID for this output"""
401
390
 
402
- type: Annotated[OutputWebhookType, PlainValidator(validate_open_enum(False))]
391
+ type: OutputWebhookType
403
392
 
404
393
  pipeline: Optional[str] = None
405
394
  r"""Pipeline to process data before sending out to this output"""
@@ -415,16 +404,11 @@ class OutputWebhook(BaseModel):
415
404
  streamtags: Optional[List[str]] = None
416
405
  r"""Tags for filtering and grouping in @{product}"""
417
406
 
418
- method: Annotated[
419
- Optional[OutputWebhookMethod], PlainValidator(validate_open_enum(False))
420
- ] = OutputWebhookMethod.POST
407
+ method: Optional[OutputWebhookMethod] = OutputWebhookMethod.POST
421
408
  r"""The method to use when sending events"""
422
409
 
423
410
  format_: Annotated[
424
- Annotated[
425
- Optional[OutputWebhookFormat], PlainValidator(validate_open_enum(False))
426
- ],
427
- pydantic.Field(alias="format"),
411
+ Optional[OutputWebhookFormat], pydantic.Field(alias="format")
428
412
  ] = OutputWebhookFormat.NDJSON
429
413
  r"""How to format events before sending out"""
430
414
 
@@ -475,10 +459,7 @@ class OutputWebhook(BaseModel):
475
459
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
476
460
 
477
461
  failed_request_logging_mode: Annotated[
478
- Annotated[
479
- Optional[OutputWebhookFailedRequestLoggingMode],
480
- PlainValidator(validate_open_enum(False)),
481
- ],
462
+ Optional[OutputWebhookFailedRequestLoggingMode],
482
463
  pydantic.Field(alias="failedRequestLoggingMode"),
483
464
  ] = OutputWebhookFailedRequestLoggingMode.NONE
484
465
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -505,20 +486,13 @@ class OutputWebhook(BaseModel):
505
486
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
506
487
 
507
488
  on_backpressure: Annotated[
508
- Annotated[
509
- Optional[OutputWebhookBackpressureBehavior],
510
- PlainValidator(validate_open_enum(False)),
511
- ],
489
+ Optional[OutputWebhookBackpressureBehavior],
512
490
  pydantic.Field(alias="onBackpressure"),
513
491
  ] = OutputWebhookBackpressureBehavior.BLOCK
514
492
  r"""How to handle events when all receivers are exerting backpressure"""
515
493
 
516
494
  auth_type: Annotated[
517
- Annotated[
518
- Optional[OutputWebhookAuthenticationType],
519
- PlainValidator(validate_open_enum(False)),
520
- ],
521
- pydantic.Field(alias="authType"),
495
+ Optional[OutputWebhookAuthenticationType], pydantic.Field(alias="authType")
522
496
  ] = OutputWebhookAuthenticationType.NONE
523
497
  r"""Authentication method to use for the HTTP request"""
524
498
 
@@ -590,29 +564,19 @@ class OutputWebhook(BaseModel):
590
564
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
591
565
 
592
566
  pq_compress: Annotated[
593
- Annotated[
594
- Optional[OutputWebhookCompression],
595
- PlainValidator(validate_open_enum(False)),
596
- ],
597
- pydantic.Field(alias="pqCompress"),
567
+ Optional[OutputWebhookCompression], pydantic.Field(alias="pqCompress")
598
568
  ] = OutputWebhookCompression.NONE
599
569
  r"""Codec to use to compress the persisted data"""
600
570
 
601
571
  pq_on_backpressure: Annotated[
602
- Annotated[
603
- Optional[OutputWebhookQueueFullBehavior],
604
- PlainValidator(validate_open_enum(False)),
605
- ],
572
+ Optional[OutputWebhookQueueFullBehavior],
606
573
  pydantic.Field(alias="pqOnBackpressure"),
607
574
  ] = OutputWebhookQueueFullBehavior.BLOCK
608
575
  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."""
609
576
 
610
- pq_mode: Annotated[
611
- Annotated[
612
- Optional[OutputWebhookMode], PlainValidator(validate_open_enum(False))
613
- ],
614
- pydantic.Field(alias="pqMode"),
615
- ] = OutputWebhookMode.ERROR
577
+ pq_mode: Annotated[Optional[OutputWebhookMode], pydantic.Field(alias="pqMode")] = (
578
+ OutputWebhookMode.ERROR
579
+ )
616
580
  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."""
617
581
 
618
582
  pq_controls: Annotated[
@@ -1,17 +1,14 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import Any, List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class OutputXsiamType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputXsiamType(str, Enum):
15
12
  XSIAM = "xsiam"
16
13
 
17
14
 
@@ -26,7 +23,7 @@ class OutputXsiamExtraHTTPHeader(BaseModel):
26
23
  name: Optional[str] = None
27
24
 
28
25
 
29
- class OutputXsiamFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class OutputXsiamFailedRequestLoggingMode(str, Enum):
30
27
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
31
28
 
32
29
  PAYLOAD = "payload"
@@ -34,7 +31,7 @@ class OutputXsiamFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMet
34
31
  NONE = "none"
35
32
 
36
33
 
37
- class OutputXsiamAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
34
+ class OutputXsiamAuthenticationMethod(str, Enum):
38
35
  r"""Enter a token directly, or provide a secret referencing a token"""
39
36
 
40
37
  TOKEN = "token"
@@ -95,7 +92,7 @@ class OutputXsiamTimeoutRetrySettings(BaseModel):
95
92
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
96
93
 
97
94
 
98
- class OutputXsiamBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
95
+ class OutputXsiamBackpressureBehavior(str, Enum):
99
96
  r"""How to handle events when all receivers are exerting backpressure"""
100
97
 
101
98
  BLOCK = "block"
@@ -116,21 +113,21 @@ class OutputXsiamURL(BaseModel):
116
113
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
117
114
 
118
115
 
119
- class OutputXsiamCompression(str, Enum, metaclass=utils.OpenEnumMeta):
116
+ class OutputXsiamCompression(str, Enum):
120
117
  r"""Codec to use to compress the persisted data"""
121
118
 
122
119
  NONE = "none"
123
120
  GZIP = "gzip"
124
121
 
125
122
 
126
- class OutputXsiamQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ class OutputXsiamQueueFullBehavior(str, Enum):
127
124
  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."""
128
125
 
129
126
  BLOCK = "block"
130
127
  DROP = "drop"
131
128
 
132
129
 
133
- class OutputXsiamMode(str, Enum, metaclass=utils.OpenEnumMeta):
130
+ class OutputXsiamMode(str, Enum):
134
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."""
135
132
 
136
133
  ERROR = "error"
@@ -229,7 +226,7 @@ class OutputXsiam(BaseModel):
229
226
  id: str
230
227
  r"""Unique ID for this output"""
231
228
 
232
- type: Annotated[OutputXsiamType, PlainValidator(validate_open_enum(False))]
229
+ type: OutputXsiamType
233
230
 
234
231
  pipeline: Optional[str] = None
235
232
  r"""Pipeline to process data before sending out to this output"""
@@ -286,10 +283,7 @@ class OutputXsiam(BaseModel):
286
283
  r"""Headers to add to all events"""
287
284
 
288
285
  failed_request_logging_mode: Annotated[
289
- Annotated[
290
- Optional[OutputXsiamFailedRequestLoggingMode],
291
- PlainValidator(validate_open_enum(False)),
292
- ],
286
+ Optional[OutputXsiamFailedRequestLoggingMode],
293
287
  pydantic.Field(alias="failedRequestLoggingMode"),
294
288
  ] = OutputXsiamFailedRequestLoggingMode.NONE
295
289
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -300,11 +294,7 @@ class OutputXsiam(BaseModel):
300
294
  r"""List of headers that are safe to log in plain text"""
301
295
 
302
296
  auth_type: Annotated[
303
- Annotated[
304
- Optional[OutputXsiamAuthenticationMethod],
305
- PlainValidator(validate_open_enum(False)),
306
- ],
307
- pydantic.Field(alias="authType"),
297
+ Optional[OutputXsiamAuthenticationMethod], pydantic.Field(alias="authType")
308
298
  ] = OutputXsiamAuthenticationMethod.TOKEN
309
299
  r"""Enter a token directly, or provide a secret referencing a token"""
310
300
 
@@ -330,10 +320,7 @@ class OutputXsiam(BaseModel):
330
320
  r"""Maximum number of requests to limit to per second"""
331
321
 
332
322
  on_backpressure: Annotated[
333
- Annotated[
334
- Optional[OutputXsiamBackpressureBehavior],
335
- PlainValidator(validate_open_enum(False)),
336
- ],
323
+ Optional[OutputXsiamBackpressureBehavior],
337
324
  pydantic.Field(alias="onBackpressure"),
338
325
  ] = OutputXsiamBackpressureBehavior.BLOCK
339
326
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -388,26 +375,18 @@ class OutputXsiam(BaseModel):
388
375
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
389
376
 
390
377
  pq_compress: Annotated[
391
- Annotated[
392
- Optional[OutputXsiamCompression], PlainValidator(validate_open_enum(False))
393
- ],
394
- pydantic.Field(alias="pqCompress"),
378
+ Optional[OutputXsiamCompression], pydantic.Field(alias="pqCompress")
395
379
  ] = OutputXsiamCompression.NONE
396
380
  r"""Codec to use to compress the persisted data"""
397
381
 
398
382
  pq_on_backpressure: Annotated[
399
- Annotated[
400
- Optional[OutputXsiamQueueFullBehavior],
401
- PlainValidator(validate_open_enum(False)),
402
- ],
403
- pydantic.Field(alias="pqOnBackpressure"),
383
+ Optional[OutputXsiamQueueFullBehavior], pydantic.Field(alias="pqOnBackpressure")
404
384
  ] = OutputXsiamQueueFullBehavior.BLOCK
405
385
  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."""
406
386
 
407
- pq_mode: Annotated[
408
- Annotated[Optional[OutputXsiamMode], PlainValidator(validate_open_enum(False))],
409
- pydantic.Field(alias="pqMode"),
410
- ] = OutputXsiamMode.ERROR
387
+ pq_mode: Annotated[Optional[OutputXsiamMode], pydantic.Field(alias="pqMode")] = (
388
+ OutputXsiamMode.ERROR
389
+ )
411
390
  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."""
412
391
 
413
392
  pq_controls: Annotated[
@@ -20,6 +20,7 @@ if TYPE_CHECKING:
20
20
  from cribl_control_plane.pipelines import Pipelines
21
21
  from cribl_control_plane.routes_sdk import RoutesSDK
22
22
  from cribl_control_plane.sources import Sources
23
+ from cribl_control_plane.versioning import Versioning
23
24
 
24
25
 
25
26
  class CriblControlPlane(BaseSDK):
@@ -35,6 +36,8 @@ class CriblControlPlane(BaseSDK):
35
36
  r"""Actions related to authentication. Do not use the /auth endpoints in Cribl.Cloud deployments. Instead, follow the instructions at https://docs.cribl.io/stream/api-tutorials/#criblcloud to authenticate for Cribl.Cloud."""
36
37
  health: "Health"
37
38
  r"""Actions related to REST server health"""
39
+ versioning: "Versioning"
40
+ r"""Actions related to Versioning"""
38
41
  _sub_sdk_map = {
39
42
  "sources": ("cribl_control_plane.sources", "Sources"),
40
43
  "destinations": ("cribl_control_plane.destinations", "Destinations"),
@@ -42,6 +45,7 @@ class CriblControlPlane(BaseSDK):
42
45
  "routes": ("cribl_control_plane.routes_sdk", "RoutesSDK"),
43
46
  "auth": ("cribl_control_plane.auth_sdk", "AuthSDK"),
44
47
  "health": ("cribl_control_plane.health", "Health"),
48
+ "versioning": ("cribl_control_plane.versioning", "Versioning"),
45
49
  }
46
50
 
47
51
  def __init__(