cribl-control-plane 0.0.48a1__py3-none-any.whl → 0.0.49__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 (164) hide show
  1. cribl_control_plane/_version.py +6 -4
  2. cribl_control_plane/errors/healthstatus_error.py +2 -8
  3. cribl_control_plane/models/__init__.py +12 -12
  4. cribl_control_plane/models/appmode.py +13 -0
  5. cribl_control_plane/models/cacheconnection.py +2 -10
  6. cribl_control_plane/models/cacheconnectionbackfillstatus.py +1 -2
  7. cribl_control_plane/models/cloudprovider.py +1 -2
  8. cribl_control_plane/models/configgroup.py +2 -7
  9. cribl_control_plane/models/configgroupcloud.py +2 -6
  10. cribl_control_plane/models/createconfiggroupbyproductop.py +2 -8
  11. cribl_control_plane/models/cribllakedataset.py +2 -8
  12. cribl_control_plane/models/datasetmetadata.py +2 -8
  13. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +2 -7
  14. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +2 -4
  15. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +2 -4
  16. cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -3
  17. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +2 -7
  18. cribl_control_plane/models/getsummaryop.py +2 -7
  19. cribl_control_plane/models/hbcriblinfo.py +3 -19
  20. cribl_control_plane/models/healthstatus.py +4 -7
  21. cribl_control_plane/models/heartbeatmetadata.py +0 -3
  22. cribl_control_plane/models/inputappscope.py +14 -34
  23. cribl_control_plane/models/inputazureblob.py +6 -17
  24. cribl_control_plane/models/inputcollection.py +4 -11
  25. cribl_control_plane/models/inputconfluentcloud.py +20 -47
  26. cribl_control_plane/models/inputcribl.py +4 -11
  27. cribl_control_plane/models/inputcriblhttp.py +8 -23
  28. cribl_control_plane/models/inputcribllakehttp.py +10 -22
  29. cribl_control_plane/models/inputcriblmetrics.py +4 -12
  30. cribl_control_plane/models/inputcribltcp.py +8 -23
  31. cribl_control_plane/models/inputcrowdstrike.py +10 -26
  32. cribl_control_plane/models/inputdatadogagent.py +8 -24
  33. cribl_control_plane/models/inputdatagen.py +4 -11
  34. cribl_control_plane/models/inputedgeprometheus.py +24 -58
  35. cribl_control_plane/models/inputelastic.py +14 -40
  36. cribl_control_plane/models/inputeventhub.py +6 -15
  37. cribl_control_plane/models/inputexec.py +6 -14
  38. cribl_control_plane/models/inputfile.py +6 -15
  39. cribl_control_plane/models/inputfirehose.py +8 -23
  40. cribl_control_plane/models/inputgooglepubsub.py +6 -19
  41. cribl_control_plane/models/inputgrafana.py +24 -67
  42. cribl_control_plane/models/inputhttp.py +8 -23
  43. cribl_control_plane/models/inputhttpraw.py +8 -23
  44. cribl_control_plane/models/inputjournalfiles.py +4 -12
  45. cribl_control_plane/models/inputkafka.py +16 -46
  46. cribl_control_plane/models/inputkinesis.py +14 -38
  47. cribl_control_plane/models/inputkubeevents.py +4 -11
  48. cribl_control_plane/models/inputkubelogs.py +8 -16
  49. cribl_control_plane/models/inputkubemetrics.py +8 -16
  50. cribl_control_plane/models/inputloki.py +10 -29
  51. cribl_control_plane/models/inputmetrics.py +8 -23
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +10 -32
  53. cribl_control_plane/models/inputmsk.py +18 -53
  54. cribl_control_plane/models/inputnetflow.py +4 -11
  55. cribl_control_plane/models/inputoffice365mgmt.py +14 -33
  56. cribl_control_plane/models/inputoffice365msgtrace.py +16 -35
  57. cribl_control_plane/models/inputoffice365service.py +16 -35
  58. cribl_control_plane/models/inputopentelemetry.py +16 -38
  59. cribl_control_plane/models/inputprometheus.py +18 -50
  60. cribl_control_plane/models/inputprometheusrw.py +10 -30
  61. cribl_control_plane/models/inputrawudp.py +4 -11
  62. cribl_control_plane/models/inputs3.py +8 -21
  63. cribl_control_plane/models/inputs3inventory.py +10 -26
  64. cribl_control_plane/models/inputsecuritylake.py +10 -27
  65. cribl_control_plane/models/inputsnmp.py +6 -16
  66. cribl_control_plane/models/inputsplunk.py +12 -33
  67. cribl_control_plane/models/inputsplunkhec.py +10 -29
  68. cribl_control_plane/models/inputsplunksearch.py +14 -33
  69. cribl_control_plane/models/inputsqs.py +10 -27
  70. cribl_control_plane/models/inputsyslog.py +16 -43
  71. cribl_control_plane/models/inputsystemmetrics.py +24 -48
  72. cribl_control_plane/models/inputsystemstate.py +8 -16
  73. cribl_control_plane/models/inputtcp.py +10 -29
  74. cribl_control_plane/models/inputtcpjson.py +10 -29
  75. cribl_control_plane/models/inputwef.py +14 -37
  76. cribl_control_plane/models/inputwindowsmetrics.py +24 -44
  77. cribl_control_plane/models/inputwineventlogs.py +10 -20
  78. cribl_control_plane/models/inputwiz.py +8 -21
  79. cribl_control_plane/models/inputwizwebhook.py +8 -23
  80. cribl_control_plane/models/inputzscalerhec.py +10 -29
  81. cribl_control_plane/models/lakehouseconnectiontype.py +1 -2
  82. cribl_control_plane/models/listconfiggroupbyproductop.py +1 -3
  83. cribl_control_plane/models/masterworkerentry.py +2 -7
  84. cribl_control_plane/models/nodeactiveupgradestatus.py +1 -2
  85. cribl_control_plane/models/nodefailedupgradestatus.py +1 -2
  86. cribl_control_plane/models/nodeprovidedinfo.py +0 -3
  87. cribl_control_plane/models/nodeskippedupgradestatus.py +1 -2
  88. cribl_control_plane/models/nodeupgradestate.py +1 -2
  89. cribl_control_plane/models/nodeupgradestatus.py +5 -13
  90. cribl_control_plane/models/outputazureblob.py +18 -48
  91. cribl_control_plane/models/outputazuredataexplorer.py +28 -73
  92. cribl_control_plane/models/outputazureeventhub.py +18 -40
  93. cribl_control_plane/models/outputazurelogs.py +12 -35
  94. cribl_control_plane/models/outputclickhouse.py +20 -55
  95. cribl_control_plane/models/outputcloudwatch.py +10 -29
  96. cribl_control_plane/models/outputconfluentcloud.py +32 -77
  97. cribl_control_plane/models/outputcriblhttp.py +16 -44
  98. cribl_control_plane/models/outputcribllake.py +16 -46
  99. cribl_control_plane/models/outputcribltcp.py +18 -45
  100. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +14 -49
  101. cribl_control_plane/models/outputdatadog.py +20 -48
  102. cribl_control_plane/models/outputdataset.py +18 -46
  103. cribl_control_plane/models/outputdiskspool.py +2 -7
  104. cribl_control_plane/models/outputdls3.py +24 -68
  105. cribl_control_plane/models/outputdynatracehttp.py +20 -53
  106. cribl_control_plane/models/outputdynatraceotlp.py +22 -55
  107. cribl_control_plane/models/outputelastic.py +18 -43
  108. cribl_control_plane/models/outputelasticcloud.py +12 -36
  109. cribl_control_plane/models/outputexabeam.py +10 -29
  110. cribl_control_plane/models/outputfilesystem.py +14 -39
  111. cribl_control_plane/models/outputgooglechronicle.py +16 -50
  112. cribl_control_plane/models/outputgooglecloudlogging.py +14 -41
  113. cribl_control_plane/models/outputgooglecloudstorage.py +24 -66
  114. cribl_control_plane/models/outputgooglepubsub.py +10 -31
  115. cribl_control_plane/models/outputgrafanacloud.py +32 -97
  116. cribl_control_plane/models/outputgraphite.py +14 -31
  117. cribl_control_plane/models/outputhoneycomb.py +12 -35
  118. cribl_control_plane/models/outputhumiohec.py +16 -43
  119. cribl_control_plane/models/outputinfluxdb.py +16 -42
  120. cribl_control_plane/models/outputkafka.py +28 -74
  121. cribl_control_plane/models/outputkinesis.py +16 -40
  122. cribl_control_plane/models/outputloki.py +16 -41
  123. cribl_control_plane/models/outputminio.py +24 -65
  124. cribl_control_plane/models/outputmsk.py +30 -82
  125. cribl_control_plane/models/outputnewrelic.py +18 -43
  126. cribl_control_plane/models/outputnewrelicevents.py +14 -41
  127. cribl_control_plane/models/outputopentelemetry.py +26 -67
  128. cribl_control_plane/models/outputprometheus.py +12 -35
  129. cribl_control_plane/models/outputring.py +8 -19
  130. cribl_control_plane/models/outputs3.py +26 -68
  131. cribl_control_plane/models/outputsecuritylake.py +18 -52
  132. cribl_control_plane/models/outputsentinel.py +18 -45
  133. cribl_control_plane/models/outputsentineloneaisiem.py +18 -50
  134. cribl_control_plane/models/outputservicenow.py +24 -60
  135. cribl_control_plane/models/outputsignalfx.py +14 -37
  136. cribl_control_plane/models/outputsns.py +14 -36
  137. cribl_control_plane/models/outputsplunk.py +24 -60
  138. cribl_control_plane/models/outputsplunkhec.py +12 -35
  139. cribl_control_plane/models/outputsplunklb.py +30 -77
  140. cribl_control_plane/models/outputsqs.py +16 -41
  141. cribl_control_plane/models/outputstatsd.py +14 -30
  142. cribl_control_plane/models/outputstatsdext.py +12 -29
  143. cribl_control_plane/models/outputsumologic.py +12 -35
  144. cribl_control_plane/models/outputsyslog.py +24 -58
  145. cribl_control_plane/models/outputtcpjson.py +20 -52
  146. cribl_control_plane/models/outputwavefront.py +12 -35
  147. cribl_control_plane/models/outputwebhook.py +22 -58
  148. cribl_control_plane/models/outputxsiam.py +14 -35
  149. cribl_control_plane/models/productscore.py +1 -2
  150. cribl_control_plane/models/rbacresource.py +1 -2
  151. cribl_control_plane/models/resourcepolicy.py +2 -4
  152. cribl_control_plane/models/routecloneconf.py +13 -0
  153. cribl_control_plane/models/routeconf.py +4 -3
  154. cribl_control_plane/models/runnablejobcollection.py +13 -30
  155. cribl_control_plane/models/runnablejobexecutor.py +4 -13
  156. cribl_control_plane/models/runnablejobscheduledsearch.py +2 -7
  157. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +2 -8
  158. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +2 -8
  159. cribl_control_plane/models/workertypes.py +1 -2
  160. cribl_control_plane/sdk.py +2 -2
  161. cribl_control_plane/utils/annotations.py +32 -8
  162. {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/METADATA +2 -1
  163. {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/RECORD +164 -162
  164. {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/WHEEL +0 -0
@@ -1,12 +1,9 @@
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
 
@@ -15,14 +12,14 @@ class OutputSyslogType(str, Enum):
15
12
  SYSLOG = "syslog"
16
13
 
17
14
 
18
- class OutputSyslogProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputSyslogProtocol(str, Enum):
19
16
  r"""The network protocol to use for sending out syslog messages"""
20
17
 
21
18
  TCP = "tcp"
22
19
  UDP = "udp"
23
20
 
24
21
 
25
- class Facility(int, Enum, metaclass=utils.OpenEnumMeta):
22
+ class Facility(int, Enum):
26
23
  r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user."""
27
24
 
28
25
  ZERO = 0
@@ -49,7 +46,7 @@ class Facility(int, Enum, metaclass=utils.OpenEnumMeta):
49
46
  TWENTY_ONE = 21
50
47
 
51
48
 
52
- class OutputSyslogSeverity(int, Enum, metaclass=utils.OpenEnumMeta):
49
+ class OutputSyslogSeverity(int, Enum):
53
50
  r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice."""
54
51
 
55
52
  ZERO = 0
@@ -62,28 +59,28 @@ class OutputSyslogSeverity(int, Enum, metaclass=utils.OpenEnumMeta):
62
59
  SEVEN = 7
63
60
 
64
61
 
65
- class OutputSyslogMessageFormat(str, Enum, metaclass=utils.OpenEnumMeta):
62
+ class OutputSyslogMessageFormat(str, Enum):
66
63
  r"""The syslog message format depending on the receiver's support"""
67
64
 
68
65
  RFC3164 = "rfc3164"
69
66
  RFC5424 = "rfc5424"
70
67
 
71
68
 
72
- class TimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta):
69
+ class TimestampFormat(str, Enum):
73
70
  r"""Timestamp format to use when serializing event's time field"""
74
71
 
75
72
  SYSLOG = "syslog"
76
73
  ISO8601 = "iso8601"
77
74
 
78
75
 
79
- class OutputSyslogMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
76
+ class OutputSyslogMinimumTLSVersion(str, Enum):
80
77
  TL_SV1 = "TLSv1"
81
78
  TL_SV1_1 = "TLSv1.1"
82
79
  TL_SV1_2 = "TLSv1.2"
83
80
  TL_SV1_3 = "TLSv1.3"
84
81
 
85
82
 
86
- class OutputSyslogMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
83
+ class OutputSyslogMaximumTLSVersion(str, Enum):
87
84
  TL_SV1 = "TLSv1"
88
85
  TL_SV1_1 = "TLSv1.1"
89
86
  TL_SV1_2 = "TLSv1.2"
@@ -143,23 +140,15 @@ class OutputSyslogTLSSettingsClientSide(BaseModel):
143
140
  r"""Passphrase to use to decrypt private key"""
144
141
 
145
142
  min_version: Annotated[
146
- Annotated[
147
- Optional[OutputSyslogMinimumTLSVersion],
148
- PlainValidator(validate_open_enum(False)),
149
- ],
150
- pydantic.Field(alias="minVersion"),
143
+ Optional[OutputSyslogMinimumTLSVersion], pydantic.Field(alias="minVersion")
151
144
  ] = None
152
145
 
153
146
  max_version: Annotated[
154
- Annotated[
155
- Optional[OutputSyslogMaximumTLSVersion],
156
- PlainValidator(validate_open_enum(False)),
157
- ],
158
- pydantic.Field(alias="maxVersion"),
147
+ Optional[OutputSyslogMaximumTLSVersion], pydantic.Field(alias="maxVersion")
159
148
  ] = None
160
149
 
161
150
 
162
- class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
151
+ class OutputSyslogBackpressureBehavior(str, Enum):
163
152
  r"""How to handle events when all receivers are exerting backpressure"""
164
153
 
165
154
  BLOCK = "block"
@@ -167,21 +156,21 @@ class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
167
156
  QUEUE = "queue"
168
157
 
169
158
 
170
- class OutputSyslogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
159
+ class OutputSyslogCompression(str, Enum):
171
160
  r"""Codec to use to compress the persisted data"""
172
161
 
173
162
  NONE = "none"
174
163
  GZIP = "gzip"
175
164
 
176
165
 
177
- class OutputSyslogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
166
+ class OutputSyslogQueueFullBehavior(str, Enum):
178
167
  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."""
179
168
 
180
169
  BLOCK = "block"
181
170
  DROP = "drop"
182
171
 
183
172
 
184
- class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
173
+ class OutputSyslogMode(str, Enum):
185
174
  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."""
186
175
 
187
176
  ERROR = "error"
@@ -327,36 +316,25 @@ class OutputSyslog(BaseModel):
327
316
  streamtags: Optional[List[str]] = None
328
317
  r"""Tags for filtering and grouping in @{product}"""
329
318
 
330
- protocol: Annotated[
331
- Optional[OutputSyslogProtocol], PlainValidator(validate_open_enum(False))
332
- ] = OutputSyslogProtocol.TCP
319
+ protocol: Optional[OutputSyslogProtocol] = OutputSyslogProtocol.TCP
333
320
  r"""The network protocol to use for sending out syslog messages"""
334
321
 
335
- facility: Annotated[
336
- Optional[Facility], PlainValidator(validate_open_enum(True))
337
- ] = Facility.ONE
322
+ facility: Optional[Facility] = Facility.ONE
338
323
  r"""Default value for message facility. Will be overwritten by value of __facility if set. Defaults to user."""
339
324
 
340
- severity: Annotated[
341
- Optional[OutputSyslogSeverity], PlainValidator(validate_open_enum(True))
342
- ] = OutputSyslogSeverity.FIVE
325
+ severity: Optional[OutputSyslogSeverity] = OutputSyslogSeverity.FIVE
343
326
  r"""Default value for message severity. Will be overwritten by value of __severity if set. Defaults to notice."""
344
327
 
345
328
  app_name: Annotated[Optional[str], pydantic.Field(alias="appName")] = "Cribl"
346
329
  r"""Default name for device or application that originated the message. Defaults to Cribl, but will be overwritten by value of __appname if set."""
347
330
 
348
331
  message_format: Annotated[
349
- Annotated[
350
- Optional[OutputSyslogMessageFormat],
351
- PlainValidator(validate_open_enum(False)),
352
- ],
353
- pydantic.Field(alias="messageFormat"),
332
+ Optional[OutputSyslogMessageFormat], pydantic.Field(alias="messageFormat")
354
333
  ] = OutputSyslogMessageFormat.RFC3164
355
334
  r"""The syslog message format depending on the receiver's support"""
356
335
 
357
336
  timestamp_format: Annotated[
358
- Annotated[Optional[TimestampFormat], PlainValidator(validate_open_enum(False))],
359
- pydantic.Field(alias="timestampFormat"),
337
+ Optional[TimestampFormat], pydantic.Field(alias="timestampFormat")
360
338
  ] = TimestampFormat.SYSLOG
361
339
  r"""Timestamp format to use when serializing event's time field"""
362
340
 
@@ -395,10 +373,7 @@ class OutputSyslog(BaseModel):
395
373
  tls: Optional[OutputSyslogTLSSettingsClientSide] = None
396
374
 
397
375
  on_backpressure: Annotated[
398
- Annotated[
399
- Optional[OutputSyslogBackpressureBehavior],
400
- PlainValidator(validate_open_enum(False)),
401
- ],
376
+ Optional[OutputSyslogBackpressureBehavior],
402
377
  pydantic.Field(alias="onBackpressure"),
403
378
  ] = OutputSyslogBackpressureBehavior.BLOCK
404
379
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -433,28 +408,19 @@ class OutputSyslog(BaseModel):
433
408
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
434
409
 
435
410
  pq_compress: Annotated[
436
- Annotated[
437
- Optional[OutputSyslogCompression], PlainValidator(validate_open_enum(False))
438
- ],
439
- pydantic.Field(alias="pqCompress"),
411
+ Optional[OutputSyslogCompression], pydantic.Field(alias="pqCompress")
440
412
  ] = OutputSyslogCompression.NONE
441
413
  r"""Codec to use to compress the persisted data"""
442
414
 
443
415
  pq_on_backpressure: Annotated[
444
- Annotated[
445
- Optional[OutputSyslogQueueFullBehavior],
446
- PlainValidator(validate_open_enum(False)),
447
- ],
416
+ Optional[OutputSyslogQueueFullBehavior],
448
417
  pydantic.Field(alias="pqOnBackpressure"),
449
418
  ] = OutputSyslogQueueFullBehavior.BLOCK
450
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."""
451
420
 
452
- pq_mode: Annotated[
453
- Annotated[
454
- Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
455
- ],
456
- pydantic.Field(alias="pqMode"),
457
- ] = OutputSyslogMode.ERROR
421
+ pq_mode: Annotated[Optional[OutputSyslogMode], pydantic.Field(alias="pqMode")] = (
422
+ OutputSyslogMode.ERROR
423
+ )
458
424
  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."""
459
425
 
460
426
  pq_controls: Annotated[
@@ -1,12 +1,9 @@
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
 
@@ -15,21 +12,21 @@ class OutputTcpjsonType(str, Enum):
15
12
  TCPJSON = "tcpjson"
16
13
 
17
14
 
18
- class OutputTcpjsonCompression(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputTcpjsonCompression(str, Enum):
19
16
  r"""Codec to use to compress the data before sending"""
20
17
 
21
18
  NONE = "none"
22
19
  GZIP = "gzip"
23
20
 
24
21
 
25
- class OutputTcpjsonMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ class OutputTcpjsonMinimumTLSVersion(str, Enum):
26
23
  TL_SV1 = "TLSv1"
27
24
  TL_SV1_1 = "TLSv1.1"
28
25
  TL_SV1_2 = "TLSv1.2"
29
26
  TL_SV1_3 = "TLSv1.3"
30
27
 
31
28
 
32
- class OutputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
29
+ class OutputTcpjsonMaximumTLSVersion(str, Enum):
33
30
  TL_SV1 = "TLSv1"
34
31
  TL_SV1_1 = "TLSv1.1"
35
32
  TL_SV1_2 = "TLSv1.2"
@@ -89,23 +86,15 @@ class OutputTcpjsonTLSSettingsClientSide(BaseModel):
89
86
  r"""Passphrase to use to decrypt private key"""
90
87
 
91
88
  min_version: Annotated[
92
- Annotated[
93
- Optional[OutputTcpjsonMinimumTLSVersion],
94
- PlainValidator(validate_open_enum(False)),
95
- ],
96
- pydantic.Field(alias="minVersion"),
89
+ Optional[OutputTcpjsonMinimumTLSVersion], pydantic.Field(alias="minVersion")
97
90
  ] = None
98
91
 
99
92
  max_version: Annotated[
100
- Annotated[
101
- Optional[OutputTcpjsonMaximumTLSVersion],
102
- PlainValidator(validate_open_enum(False)),
103
- ],
104
- pydantic.Field(alias="maxVersion"),
93
+ Optional[OutputTcpjsonMaximumTLSVersion], pydantic.Field(alias="maxVersion")
105
94
  ] = None
106
95
 
107
96
 
108
- class OutputTcpjsonBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
97
+ class OutputTcpjsonBackpressureBehavior(str, Enum):
109
98
  r"""How to handle events when all receivers are exerting backpressure"""
110
99
 
111
100
  BLOCK = "block"
@@ -113,14 +102,14 @@ class OutputTcpjsonBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta)
113
102
  QUEUE = "queue"
114
103
 
115
104
 
116
- class OutputTcpjsonAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
105
+ class OutputTcpjsonAuthenticationMethod(str, Enum):
117
106
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
118
107
 
119
108
  MANUAL = "manual"
120
109
  SECRET = "secret"
121
110
 
122
111
 
123
- class OutputTcpjsonTLS(str, Enum, metaclass=utils.OpenEnumMeta):
112
+ class OutputTcpjsonTLS(str, Enum):
124
113
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
125
114
 
126
115
  INHERIT = "inherit"
@@ -147,9 +136,7 @@ class OutputTcpjsonHost(BaseModel):
147
136
  port: float
148
137
  r"""The port to connect to on the provided host"""
149
138
 
150
- tls: Annotated[
151
- Optional[OutputTcpjsonTLS], PlainValidator(validate_open_enum(False))
152
- ] = OutputTcpjsonTLS.INHERIT
139
+ tls: Optional[OutputTcpjsonTLS] = OutputTcpjsonTLS.INHERIT
153
140
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
154
141
 
155
142
  servername: Optional[str] = None
@@ -159,21 +146,21 @@ class OutputTcpjsonHost(BaseModel):
159
146
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
160
147
 
161
148
 
162
- class OutputTcpjsonPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
149
+ class OutputTcpjsonPqCompressCompression(str, Enum):
163
150
  r"""Codec to use to compress the persisted data"""
164
151
 
165
152
  NONE = "none"
166
153
  GZIP = "gzip"
167
154
 
168
155
 
169
- class OutputTcpjsonQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
156
+ class OutputTcpjsonQueueFullBehavior(str, Enum):
170
157
  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."""
171
158
 
172
159
  BLOCK = "block"
173
160
  DROP = "drop"
174
161
 
175
162
 
176
- class OutputTcpjsonMode(str, Enum, metaclass=utils.OpenEnumMeta):
163
+ class OutputTcpjsonMode(str, Enum):
177
164
  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."""
178
165
 
179
166
  ERROR = "error"
@@ -281,9 +268,7 @@ class OutputTcpjson(BaseModel):
281
268
  )
282
269
  r"""Use load-balanced destinations"""
283
270
 
284
- compression: Annotated[
285
- Optional[OutputTcpjsonCompression], PlainValidator(validate_open_enum(False))
286
- ] = OutputTcpjsonCompression.GZIP
271
+ compression: Optional[OutputTcpjsonCompression] = OutputTcpjsonCompression.GZIP
287
272
  r"""Codec to use to compress the data before sending"""
288
273
 
289
274
  log_failed_requests: Annotated[
@@ -317,20 +302,13 @@ class OutputTcpjson(BaseModel):
317
302
  r"""Upon connection, send a header-like record containing the auth token and other metadata.This record will not contain an actual event – only subsequent records will."""
318
303
 
319
304
  on_backpressure: Annotated[
320
- Annotated[
321
- Optional[OutputTcpjsonBackpressureBehavior],
322
- PlainValidator(validate_open_enum(False)),
323
- ],
305
+ Optional[OutputTcpjsonBackpressureBehavior],
324
306
  pydantic.Field(alias="onBackpressure"),
325
307
  ] = OutputTcpjsonBackpressureBehavior.BLOCK
326
308
  r"""How to handle events when all receivers are exerting backpressure"""
327
309
 
328
310
  auth_type: Annotated[
329
- Annotated[
330
- Optional[OutputTcpjsonAuthenticationMethod],
331
- PlainValidator(validate_open_enum(False)),
332
- ],
333
- pydantic.Field(alias="authType"),
311
+ Optional[OutputTcpjsonAuthenticationMethod], pydantic.Field(alias="authType")
334
312
  ] = OutputTcpjsonAuthenticationMethod.MANUAL
335
313
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
336
314
 
@@ -377,29 +355,19 @@ class OutputTcpjson(BaseModel):
377
355
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
378
356
 
379
357
  pq_compress: Annotated[
380
- Annotated[
381
- Optional[OutputTcpjsonPqCompressCompression],
382
- PlainValidator(validate_open_enum(False)),
383
- ],
384
- pydantic.Field(alias="pqCompress"),
358
+ Optional[OutputTcpjsonPqCompressCompression], pydantic.Field(alias="pqCompress")
385
359
  ] = OutputTcpjsonPqCompressCompression.NONE
386
360
  r"""Codec to use to compress the persisted data"""
387
361
 
388
362
  pq_on_backpressure: Annotated[
389
- Annotated[
390
- Optional[OutputTcpjsonQueueFullBehavior],
391
- PlainValidator(validate_open_enum(False)),
392
- ],
363
+ Optional[OutputTcpjsonQueueFullBehavior],
393
364
  pydantic.Field(alias="pqOnBackpressure"),
394
365
  ] = OutputTcpjsonQueueFullBehavior.BLOCK
395
366
  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."""
396
367
 
397
- pq_mode: Annotated[
398
- Annotated[
399
- Optional[OutputTcpjsonMode], PlainValidator(validate_open_enum(False))
400
- ],
401
- pydantic.Field(alias="pqMode"),
402
- ] = OutputTcpjsonMode.ERROR
368
+ pq_mode: Annotated[Optional[OutputTcpjsonMode], pydantic.Field(alias="pqMode")] = (
369
+ OutputTcpjsonMode.ERROR
370
+ )
403
371
  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."""
404
372
 
405
373
  pq_controls: Annotated[
@@ -1,12 +1,9 @@
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
 
@@ -15,7 +12,7 @@ class OutputWavefrontType(str, Enum):
15
12
  WAVEFRONT = "wavefront"
16
13
 
17
14
 
18
- class OutputWavefrontAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputWavefrontAuthenticationMethod(str, Enum):
19
16
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
20
17
 
21
18
  MANUAL = "manual"
@@ -33,7 +30,7 @@ class OutputWavefrontExtraHTTPHeader(BaseModel):
33
30
  name: Optional[str] = None
34
31
 
35
32
 
36
- class OutputWavefrontFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class OutputWavefrontFailedRequestLoggingMode(str, Enum):
37
34
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
38
35
 
39
36
  PAYLOAD = "payload"
@@ -95,7 +92,7 @@ class OutputWavefrontTimeoutRetrySettings(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 OutputWavefrontBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
95
+ class OutputWavefrontBackpressureBehavior(str, Enum):
99
96
  r"""How to handle events when all receivers are exerting backpressure"""
100
97
 
101
98
  BLOCK = "block"
@@ -103,21 +100,21 @@ class OutputWavefrontBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
103
100
  QUEUE = "queue"
104
101
 
105
102
 
106
- class OutputWavefrontCompression(str, Enum, metaclass=utils.OpenEnumMeta):
103
+ class OutputWavefrontCompression(str, Enum):
107
104
  r"""Codec to use to compress the persisted data"""
108
105
 
109
106
  NONE = "none"
110
107
  GZIP = "gzip"
111
108
 
112
109
 
113
- class OutputWavefrontQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
110
+ class OutputWavefrontQueueFullBehavior(str, Enum):
114
111
  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."""
115
112
 
116
113
  BLOCK = "block"
117
114
  DROP = "drop"
118
115
 
119
116
 
120
- class OutputWavefrontMode(str, Enum, metaclass=utils.OpenEnumMeta):
117
+ class OutputWavefrontMode(str, Enum):
121
118
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
122
119
 
123
120
  ERROR = "error"
@@ -224,11 +221,7 @@ class OutputWavefront(BaseModel):
224
221
  r"""Tags for filtering and grouping in @{product}"""
225
222
 
226
223
  auth_type: Annotated[
227
- Annotated[
228
- Optional[OutputWavefrontAuthenticationMethod],
229
- PlainValidator(validate_open_enum(False)),
230
- ],
231
- pydantic.Field(alias="authType"),
224
+ Optional[OutputWavefrontAuthenticationMethod], pydantic.Field(alias="authType")
232
225
  ] = OutputWavefrontAuthenticationMethod.MANUAL
233
226
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
234
227
 
@@ -279,10 +272,7 @@ class OutputWavefront(BaseModel):
279
272
  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."""
280
273
 
281
274
  failed_request_logging_mode: Annotated[
282
- Annotated[
283
- Optional[OutputWavefrontFailedRequestLoggingMode],
284
- PlainValidator(validate_open_enum(False)),
285
- ],
275
+ Optional[OutputWavefrontFailedRequestLoggingMode],
286
276
  pydantic.Field(alias="failedRequestLoggingMode"),
287
277
  ] = OutputWavefrontFailedRequestLoggingMode.NONE
288
278
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -309,10 +299,7 @@ class OutputWavefront(BaseModel):
309
299
  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."""
310
300
 
311
301
  on_backpressure: Annotated[
312
- Annotated[
313
- Optional[OutputWavefrontBackpressureBehavior],
314
- PlainValidator(validate_open_enum(False)),
315
- ],
302
+ Optional[OutputWavefrontBackpressureBehavior],
316
303
  pydantic.Field(alias="onBackpressure"),
317
304
  ] = OutputWavefrontBackpressureBehavior.BLOCK
318
305
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -339,28 +326,18 @@ class OutputWavefront(BaseModel):
339
326
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
340
327
 
341
328
  pq_compress: Annotated[
342
- Annotated[
343
- Optional[OutputWavefrontCompression],
344
- PlainValidator(validate_open_enum(False)),
345
- ],
346
- pydantic.Field(alias="pqCompress"),
329
+ Optional[OutputWavefrontCompression], pydantic.Field(alias="pqCompress")
347
330
  ] = OutputWavefrontCompression.NONE
348
331
  r"""Codec to use to compress the persisted data"""
349
332
 
350
333
  pq_on_backpressure: Annotated[
351
- Annotated[
352
- Optional[OutputWavefrontQueueFullBehavior],
353
- PlainValidator(validate_open_enum(False)),
354
- ],
334
+ Optional[OutputWavefrontQueueFullBehavior],
355
335
  pydantic.Field(alias="pqOnBackpressure"),
356
336
  ] = OutputWavefrontQueueFullBehavior.BLOCK
357
337
  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."""
358
338
 
359
339
  pq_mode: Annotated[
360
- Annotated[
361
- Optional[OutputWavefrontMode], PlainValidator(validate_open_enum(False))
362
- ],
363
- pydantic.Field(alias="pqMode"),
340
+ Optional[OutputWavefrontMode], pydantic.Field(alias="pqMode")
364
341
  ] = OutputWavefrontMode.ERROR
365
342
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
366
343