cribl-control-plane 0.0.50__py3-none-any.whl → 0.0.50rc2__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 (176) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/groups_sdk.py +4 -4
  4. cribl_control_plane/health.py +6 -2
  5. cribl_control_plane/models/__init__.py +56 -31
  6. cribl_control_plane/models/cacheconnection.py +10 -2
  7. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  8. cribl_control_plane/models/cloudprovider.py +2 -1
  9. cribl_control_plane/models/configgroup.py +24 -4
  10. cribl_control_plane/models/configgroupcloud.py +6 -2
  11. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  12. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  13. cribl_control_plane/models/createversionpushop.py +5 -5
  14. cribl_control_plane/models/cribllakedataset.py +8 -2
  15. cribl_control_plane/models/datasetmetadata.py +8 -2
  16. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  17. cribl_control_plane/models/error.py +16 -0
  18. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  20. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  21. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  22. cribl_control_plane/models/gethealthinfoop.py +17 -0
  23. cribl_control_plane/models/getsummaryop.py +7 -2
  24. cribl_control_plane/models/getversionshowop.py +6 -5
  25. cribl_control_plane/models/gitinfo.py +14 -3
  26. cribl_control_plane/models/gitshowresult.py +19 -0
  27. cribl_control_plane/models/hbcriblinfo.py +24 -3
  28. cribl_control_plane/models/healthstatus.py +7 -4
  29. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  30. cribl_control_plane/models/input.py +65 -63
  31. cribl_control_plane/models/inputappscope.py +34 -14
  32. cribl_control_plane/models/inputazureblob.py +17 -6
  33. cribl_control_plane/models/inputcollection.py +11 -4
  34. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  35. cribl_control_plane/models/inputcribl.py +11 -4
  36. cribl_control_plane/models/inputcriblhttp.py +23 -8
  37. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  38. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  39. cribl_control_plane/models/inputcribltcp.py +23 -8
  40. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  41. cribl_control_plane/models/inputdatadogagent.py +24 -8
  42. cribl_control_plane/models/inputdatagen.py +11 -4
  43. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  44. cribl_control_plane/models/inputelastic.py +40 -14
  45. cribl_control_plane/models/inputeventhub.py +15 -6
  46. cribl_control_plane/models/inputexec.py +14 -6
  47. cribl_control_plane/models/inputfile.py +15 -6
  48. cribl_control_plane/models/inputfirehose.py +23 -8
  49. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  50. cribl_control_plane/models/inputgrafana.py +67 -24
  51. cribl_control_plane/models/inputhttp.py +23 -8
  52. cribl_control_plane/models/inputhttpraw.py +23 -8
  53. cribl_control_plane/models/inputjournalfiles.py +12 -4
  54. cribl_control_plane/models/inputkafka.py +41 -28
  55. cribl_control_plane/models/inputkinesis.py +38 -14
  56. cribl_control_plane/models/inputkubeevents.py +11 -4
  57. cribl_control_plane/models/inputkubelogs.py +16 -8
  58. cribl_control_plane/models/inputkubemetrics.py +16 -8
  59. cribl_control_plane/models/inputloki.py +29 -10
  60. cribl_control_plane/models/inputmetrics.py +23 -8
  61. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  62. cribl_control_plane/models/inputmsk.py +48 -30
  63. cribl_control_plane/models/inputnetflow.py +11 -4
  64. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  65. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  66. cribl_control_plane/models/inputoffice365service.py +35 -16
  67. cribl_control_plane/models/inputopentelemetry.py +38 -16
  68. cribl_control_plane/models/inputprometheus.py +50 -18
  69. cribl_control_plane/models/inputprometheusrw.py +30 -10
  70. cribl_control_plane/models/inputrawudp.py +11 -4
  71. cribl_control_plane/models/inputs3.py +21 -8
  72. cribl_control_plane/models/inputs3inventory.py +26 -10
  73. cribl_control_plane/models/inputsecuritylake.py +27 -10
  74. cribl_control_plane/models/inputsnmp.py +16 -6
  75. cribl_control_plane/models/inputsplunk.py +33 -12
  76. cribl_control_plane/models/inputsplunkhec.py +29 -10
  77. cribl_control_plane/models/inputsplunksearch.py +33 -14
  78. cribl_control_plane/models/inputsqs.py +27 -10
  79. cribl_control_plane/models/inputsyslog.py +43 -16
  80. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  81. cribl_control_plane/models/inputsystemstate.py +16 -8
  82. cribl_control_plane/models/inputtcp.py +29 -10
  83. cribl_control_plane/models/inputtcpjson.py +29 -10
  84. cribl_control_plane/models/inputwef.py +37 -14
  85. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  86. cribl_control_plane/models/inputwineventlogs.py +20 -10
  87. cribl_control_plane/models/inputwiz.py +21 -8
  88. cribl_control_plane/models/inputwizwebhook.py +23 -8
  89. cribl_control_plane/models/inputzscalerhec.py +29 -10
  90. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  91. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  92. cribl_control_plane/models/masterworkerentry.py +7 -2
  93. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  96. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  97. cribl_control_plane/models/nodeupgradestate.py +2 -1
  98. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  99. cribl_control_plane/models/output.py +84 -79
  100. cribl_control_plane/models/outputazureblob.py +48 -18
  101. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  102. cribl_control_plane/models/outputazureeventhub.py +40 -18
  103. cribl_control_plane/models/outputazurelogs.py +35 -12
  104. cribl_control_plane/models/outputclickhouse.py +55 -20
  105. cribl_control_plane/models/outputcloudwatch.py +29 -10
  106. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  107. cribl_control_plane/models/outputcriblhttp.py +44 -16
  108. cribl_control_plane/models/outputcribllake.py +46 -16
  109. cribl_control_plane/models/outputcribltcp.py +45 -18
  110. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  111. cribl_control_plane/models/outputdatabricks.py +282 -0
  112. cribl_control_plane/models/outputdatadog.py +48 -20
  113. cribl_control_plane/models/outputdataset.py +46 -18
  114. cribl_control_plane/models/outputdiskspool.py +7 -2
  115. cribl_control_plane/models/outputdls3.py +68 -24
  116. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  117. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  118. cribl_control_plane/models/outputelastic.py +43 -18
  119. cribl_control_plane/models/outputelasticcloud.py +36 -12
  120. cribl_control_plane/models/outputexabeam.py +29 -10
  121. cribl_control_plane/models/outputfilesystem.py +39 -14
  122. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  123. cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
  124. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  125. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  126. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  127. cribl_control_plane/models/outputgraphite.py +31 -14
  128. cribl_control_plane/models/outputhoneycomb.py +35 -12
  129. cribl_control_plane/models/outputhumiohec.py +43 -16
  130. cribl_control_plane/models/outputinfluxdb.py +42 -16
  131. cribl_control_plane/models/outputkafka.py +69 -40
  132. cribl_control_plane/models/outputkinesis.py +40 -16
  133. cribl_control_plane/models/outputloki.py +41 -16
  134. cribl_control_plane/models/outputminio.py +65 -24
  135. cribl_control_plane/models/outputmsk.py +77 -42
  136. cribl_control_plane/models/outputnewrelic.py +43 -18
  137. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  138. cribl_control_plane/models/outputopentelemetry.py +67 -26
  139. cribl_control_plane/models/outputprometheus.py +35 -12
  140. cribl_control_plane/models/outputring.py +19 -8
  141. cribl_control_plane/models/outputs3.py +68 -26
  142. cribl_control_plane/models/outputsecuritylake.py +52 -18
  143. cribl_control_plane/models/outputsentinel.py +45 -18
  144. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  145. cribl_control_plane/models/outputservicenow.py +60 -24
  146. cribl_control_plane/models/outputsignalfx.py +37 -14
  147. cribl_control_plane/models/outputsns.py +36 -14
  148. cribl_control_plane/models/outputsplunk.py +60 -24
  149. cribl_control_plane/models/outputsplunkhec.py +35 -12
  150. cribl_control_plane/models/outputsplunklb.py +77 -30
  151. cribl_control_plane/models/outputsqs.py +41 -16
  152. cribl_control_plane/models/outputstatsd.py +30 -14
  153. cribl_control_plane/models/outputstatsdext.py +29 -12
  154. cribl_control_plane/models/outputsumologic.py +35 -12
  155. cribl_control_plane/models/outputsyslog.py +58 -24
  156. cribl_control_plane/models/outputtcpjson.py +52 -20
  157. cribl_control_plane/models/outputwavefront.py +35 -12
  158. cribl_control_plane/models/outputwebhook.py +58 -22
  159. cribl_control_plane/models/outputxsiam.py +35 -14
  160. cribl_control_plane/models/productscore.py +2 -1
  161. cribl_control_plane/models/rbacresource.py +2 -1
  162. cribl_control_plane/models/resourcepolicy.py +4 -2
  163. cribl_control_plane/models/routeconf.py +3 -4
  164. cribl_control_plane/models/runnablejobcollection.py +30 -13
  165. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  166. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  167. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  168. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  169. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  170. cribl_control_plane/models/workertypes.py +2 -1
  171. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.50rc2.dist-info/RECORD +327 -0
  173. cribl_control_plane/models/appmode.py +0 -13
  174. cribl_control_plane/models/routecloneconf.py +0 -13
  175. cribl_control_plane-0.0.50.dist-info/RECORD +0 -325
  176. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/WHEEL +0 -0
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,7 +15,7 @@ class OutputDiskSpoolType(str, Enum):
12
15
  DISK_SPOOL = "disk_spool"
13
16
 
14
17
 
15
- class OutputDiskSpoolCompression(str, Enum):
18
+ class OutputDiskSpoolCompression(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Data compression format. Default is gzip."""
17
20
 
18
21
  NONE = "none"
@@ -73,7 +76,9 @@ class OutputDiskSpool(BaseModel):
73
76
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
74
77
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
75
78
 
76
- compress: Optional[OutputDiskSpoolCompression] = OutputDiskSpoolCompression.GZIP
79
+ compress: Annotated[
80
+ Optional[OutputDiskSpoolCompression], PlainValidator(validate_open_enum(False))
81
+ ] = OutputDiskSpoolCompression.GZIP
77
82
  r"""Data compression format. Default is gzip."""
78
83
 
79
84
  partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = (
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,7 +15,7 @@ class OutputDlS3Type(str, Enum):
12
15
  DL_S3 = "dl_s3"
13
16
 
14
17
 
15
- class OutputDlS3AuthenticationMethod(str, Enum):
18
+ class OutputDlS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""AWS authentication method. Choose Auto to use IAM roles."""
17
20
 
18
21
  AUTO = "auto"
@@ -20,14 +23,14 @@ class OutputDlS3AuthenticationMethod(str, Enum):
20
23
  SECRET = "secret"
21
24
 
22
25
 
23
- class OutputDlS3SignatureVersion(str, Enum):
26
+ class OutputDlS3SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
24
27
  r"""Signature version to use for signing S3 requests"""
25
28
 
26
29
  V2 = "v2"
27
30
  V4 = "v4"
28
31
 
29
32
 
30
- class OutputDlS3ObjectACL(str, Enum):
33
+ class OutputDlS3ObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""Object ACL to assign to uploaded objects"""
32
35
 
33
36
  PRIVATE = "private"
@@ -39,7 +42,7 @@ class OutputDlS3ObjectACL(str, Enum):
39
42
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
40
43
 
41
44
 
42
- class OutputDlS3StorageClass(str, Enum):
45
+ class OutputDlS3StorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
43
46
  r"""Storage class to select for uploaded objects"""
44
47
 
45
48
  STANDARD = "STANDARD"
@@ -52,12 +55,14 @@ class OutputDlS3StorageClass(str, Enum):
52
55
  DEEP_ARCHIVE = "DEEP_ARCHIVE"
53
56
 
54
57
 
55
- class OutputDlS3ServerSideEncryptionForUploadedObjects(str, Enum):
58
+ class OutputDlS3ServerSideEncryptionForUploadedObjects(
59
+ str, Enum, metaclass=utils.OpenEnumMeta
60
+ ):
56
61
  AES256 = "AES256"
57
62
  AWS_KMS = "aws:kms"
58
63
 
59
64
 
60
- class OutputDlS3DataFormat(str, Enum):
65
+ class OutputDlS3DataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
61
66
  r"""Format of the output data"""
62
67
 
63
68
  JSON = "json"
@@ -65,28 +70,28 @@ class OutputDlS3DataFormat(str, Enum):
65
70
  PARQUET = "parquet"
66
71
 
67
72
 
68
- class OutputDlS3BackpressureBehavior(str, Enum):
73
+ class OutputDlS3BackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
69
74
  r"""How to handle events when all receivers are exerting backpressure"""
70
75
 
71
76
  BLOCK = "block"
72
77
  DROP = "drop"
73
78
 
74
79
 
75
- class OutputDlS3DiskSpaceProtection(str, Enum):
80
+ class OutputDlS3DiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
76
81
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
77
82
 
78
83
  BLOCK = "block"
79
84
  DROP = "drop"
80
85
 
81
86
 
82
- class OutputDlS3Compression(str, Enum):
87
+ class OutputDlS3Compression(str, Enum, metaclass=utils.OpenEnumMeta):
83
88
  r"""Data compression format to apply to HTTP content before it is delivered"""
84
89
 
85
90
  NONE = "none"
86
91
  GZIP = "gzip"
87
92
 
88
93
 
89
- class OutputDlS3CompressionLevel(str, Enum):
94
+ class OutputDlS3CompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
90
95
  r"""Compression level to apply before moving files to final destination"""
91
96
 
92
97
  BEST_SPEED = "best_speed"
@@ -94,7 +99,7 @@ class OutputDlS3CompressionLevel(str, Enum):
94
99
  BEST_COMPRESSION = "best_compression"
95
100
 
96
101
 
97
- class OutputDlS3ParquetVersion(str, Enum):
102
+ class OutputDlS3ParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
98
103
  r"""Determines which data types are supported and how they are represented"""
99
104
 
100
105
  PARQUET_1_0 = "PARQUET_1_0"
@@ -102,7 +107,7 @@ class OutputDlS3ParquetVersion(str, Enum):
102
107
  PARQUET_2_6 = "PARQUET_2_6"
103
108
 
104
109
 
105
- class OutputDlS3DataPageVersion(str, Enum):
110
+ class OutputDlS3DataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
106
111
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
107
112
 
108
113
  DATA_PAGE_V1 = "DATA_PAGE_V1"
@@ -274,7 +279,10 @@ class OutputDlS3(BaseModel):
274
279
  r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)"""
275
280
 
276
281
  aws_authentication_method: Annotated[
277
- Optional[OutputDlS3AuthenticationMethod],
282
+ Annotated[
283
+ Optional[OutputDlS3AuthenticationMethod],
284
+ PlainValidator(validate_open_enum(False)),
285
+ ],
278
286
  pydantic.Field(alias="awsAuthenticationMethod"),
279
287
  ] = OutputDlS3AuthenticationMethod.AUTO
280
288
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -283,7 +291,11 @@ class OutputDlS3(BaseModel):
283
291
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
284
292
 
285
293
  signature_version: Annotated[
286
- Optional[OutputDlS3SignatureVersion], pydantic.Field(alias="signatureVersion")
294
+ Annotated[
295
+ Optional[OutputDlS3SignatureVersion],
296
+ PlainValidator(validate_open_enum(False)),
297
+ ],
298
+ pydantic.Field(alias="signatureVersion"),
287
299
  ] = OutputDlS3SignatureVersion.V4
288
300
  r"""Signature version to use for signing S3 requests"""
289
301
 
@@ -331,17 +343,26 @@ class OutputDlS3(BaseModel):
331
343
  r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
332
344
 
333
345
  object_acl: Annotated[
334
- Optional[OutputDlS3ObjectACL], pydantic.Field(alias="objectACL")
346
+ Annotated[
347
+ Optional[OutputDlS3ObjectACL], PlainValidator(validate_open_enum(False))
348
+ ],
349
+ pydantic.Field(alias="objectACL"),
335
350
  ] = OutputDlS3ObjectACL.PRIVATE
336
351
  r"""Object ACL to assign to uploaded objects"""
337
352
 
338
353
  storage_class: Annotated[
339
- Optional[OutputDlS3StorageClass], pydantic.Field(alias="storageClass")
354
+ Annotated[
355
+ Optional[OutputDlS3StorageClass], PlainValidator(validate_open_enum(False))
356
+ ],
357
+ pydantic.Field(alias="storageClass"),
340
358
  ] = None
341
359
  r"""Storage class to select for uploaded objects"""
342
360
 
343
361
  server_side_encryption: Annotated[
344
- Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
362
+ Annotated[
363
+ Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
364
+ PlainValidator(validate_open_enum(False)),
365
+ ],
345
366
  pydantic.Field(alias="serverSideEncryption"),
346
367
  ] = None
347
368
 
@@ -354,7 +375,10 @@ class OutputDlS3(BaseModel):
354
375
  r"""Remove empty staging directories after moving files"""
355
376
 
356
377
  format_: Annotated[
357
- Optional[OutputDlS3DataFormat], pydantic.Field(alias="format")
378
+ Annotated[
379
+ Optional[OutputDlS3DataFormat], PlainValidator(validate_open_enum(False))
380
+ ],
381
+ pydantic.Field(alias="format"),
358
382
  ] = OutputDlS3DataFormat.JSON
359
383
  r"""Format of the output data"""
360
384
 
@@ -387,7 +411,11 @@ class OutputDlS3(BaseModel):
387
411
  r"""Buffer size used to write to a file"""
388
412
 
389
413
  on_backpressure: Annotated[
390
- Optional[OutputDlS3BackpressureBehavior], pydantic.Field(alias="onBackpressure")
414
+ Annotated[
415
+ Optional[OutputDlS3BackpressureBehavior],
416
+ PlainValidator(validate_open_enum(False)),
417
+ ],
418
+ pydantic.Field(alias="onBackpressure"),
391
419
  ] = OutputDlS3BackpressureBehavior.BLOCK
392
420
  r"""How to handle events when all receivers are exerting backpressure"""
393
421
 
@@ -397,7 +425,10 @@ class OutputDlS3(BaseModel):
397
425
  r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
398
426
 
399
427
  on_disk_full_backpressure: Annotated[
400
- Optional[OutputDlS3DiskSpaceProtection],
428
+ Annotated[
429
+ Optional[OutputDlS3DiskSpaceProtection],
430
+ PlainValidator(validate_open_enum(False)),
431
+ ],
401
432
  pydantic.Field(alias="onDiskFullBackpressure"),
402
433
  ] = OutputDlS3DiskSpaceProtection.BLOCK
403
434
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
@@ -440,11 +471,17 @@ class OutputDlS3(BaseModel):
440
471
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
441
472
  r"""Select or create a stored secret that references your access key and secret key"""
442
473
 
443
- compress: Optional[OutputDlS3Compression] = OutputDlS3Compression.GZIP
474
+ compress: Annotated[
475
+ Optional[OutputDlS3Compression], PlainValidator(validate_open_enum(False))
476
+ ] = OutputDlS3Compression.GZIP
444
477
  r"""Data compression format to apply to HTTP content before it is delivered"""
445
478
 
446
479
  compression_level: Annotated[
447
- Optional[OutputDlS3CompressionLevel], pydantic.Field(alias="compressionLevel")
480
+ Annotated[
481
+ Optional[OutputDlS3CompressionLevel],
482
+ PlainValidator(validate_open_enum(False)),
483
+ ],
484
+ pydantic.Field(alias="compressionLevel"),
448
485
  ] = OutputDlS3CompressionLevel.BEST_SPEED
449
486
  r"""Compression level to apply before moving files to final destination"""
450
487
 
@@ -454,12 +491,19 @@ class OutputDlS3(BaseModel):
454
491
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
455
492
 
456
493
  parquet_version: Annotated[
457
- Optional[OutputDlS3ParquetVersion], pydantic.Field(alias="parquetVersion")
494
+ Annotated[
495
+ Optional[OutputDlS3ParquetVersion],
496
+ PlainValidator(validate_open_enum(False)),
497
+ ],
498
+ pydantic.Field(alias="parquetVersion"),
458
499
  ] = OutputDlS3ParquetVersion.PARQUET_2_6
459
500
  r"""Determines which data types are supported and how they are represented"""
460
501
 
461
502
  parquet_data_page_version: Annotated[
462
- Optional[OutputDlS3DataPageVersion],
503
+ Annotated[
504
+ Optional[OutputDlS3DataPageVersion],
505
+ PlainValidator(validate_open_enum(False)),
506
+ ],
463
507
  pydantic.Field(alias="parquetDataPageVersion"),
464
508
  ] = OutputDlS3DataPageVersion.DATA_PAGE_V2
465
509
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,7 +15,7 @@ class OutputDynatraceHTTPType(str, Enum):
12
15
  DYNATRACE_HTTP = "dynatrace_http"
13
16
 
14
17
 
15
- class OutputDynatraceHTTPMethod(str, Enum):
18
+ class OutputDynatraceHTTPMethod(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""The method to use when sending events"""
17
20
 
18
21
  POST = "POST"
@@ -31,7 +34,9 @@ class OutputDynatraceHTTPExtraHTTPHeader(BaseModel):
31
34
  name: Optional[str] = None
32
35
 
33
36
 
34
- class OutputDynatraceHTTPFailedRequestLoggingMode(str, Enum):
37
+ class OutputDynatraceHTTPFailedRequestLoggingMode(
38
+ str, Enum, metaclass=utils.OpenEnumMeta
39
+ ):
35
40
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
36
41
 
37
42
  PAYLOAD = "payload"
@@ -93,7 +98,7 @@ class OutputDynatraceHTTPTimeoutRetrySettings(BaseModel):
93
98
  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)."""
94
99
 
95
100
 
96
- class OutputDynatraceHTTPBackpressureBehavior(str, Enum):
101
+ class OutputDynatraceHTTPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
97
102
  r"""How to handle events when all receivers are exerting backpressure"""
98
103
 
99
104
  BLOCK = "block"
@@ -101,44 +106,44 @@ class OutputDynatraceHTTPBackpressureBehavior(str, Enum):
101
106
  QUEUE = "queue"
102
107
 
103
108
 
104
- class OutputDynatraceHTTPAuthenticationType(str, Enum):
109
+ class OutputDynatraceHTTPAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
105
110
  TOKEN = "token"
106
111
  TEXT_SECRET = "textSecret"
107
112
 
108
113
 
109
- class OutputDynatraceHTTPFormat(str, Enum):
114
+ class OutputDynatraceHTTPFormat(str, Enum, metaclass=utils.OpenEnumMeta):
110
115
  r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported."""
111
116
 
112
117
  JSON_ARRAY = "json_array"
113
118
  PLAINTEXT = "plaintext"
114
119
 
115
120
 
116
- class Endpoint(str, Enum):
121
+ class Endpoint(str, Enum, metaclass=utils.OpenEnumMeta):
117
122
  CLOUD = "cloud"
118
123
  ACTIVE_GATE = "activeGate"
119
124
  MANUAL = "manual"
120
125
 
121
126
 
122
- class TelemetryType(str, Enum):
127
+ class TelemetryType(str, Enum, metaclass=utils.OpenEnumMeta):
123
128
  LOGS = "logs"
124
129
  METRICS = "metrics"
125
130
 
126
131
 
127
- class OutputDynatraceHTTPCompression(str, Enum):
132
+ class OutputDynatraceHTTPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
128
133
  r"""Codec to use to compress the persisted data"""
129
134
 
130
135
  NONE = "none"
131
136
  GZIP = "gzip"
132
137
 
133
138
 
134
- class OutputDynatraceHTTPQueueFullBehavior(str, Enum):
139
+ class OutputDynatraceHTTPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
135
140
  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."""
136
141
 
137
142
  BLOCK = "block"
138
143
  DROP = "drop"
139
144
 
140
145
 
141
- class OutputDynatraceHTTPMode(str, Enum):
146
+ class OutputDynatraceHTTPMode(str, Enum, metaclass=utils.OpenEnumMeta):
142
147
  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."""
143
148
 
144
149
  ERROR = "error"
@@ -261,7 +266,9 @@ class OutputDynatraceHTTP(BaseModel):
261
266
  streamtags: Optional[List[str]] = None
262
267
  r"""Tags for filtering and grouping in @{product}"""
263
268
 
264
- method: Optional[OutputDynatraceHTTPMethod] = OutputDynatraceHTTPMethod.POST
269
+ method: Annotated[
270
+ Optional[OutputDynatraceHTTPMethod], PlainValidator(validate_open_enum(False))
271
+ ] = OutputDynatraceHTTPMethod.POST
265
272
  r"""The method to use when sending events"""
266
273
 
267
274
  keep_alive: Annotated[Optional[bool], pydantic.Field(alias="keepAlive")] = True
@@ -311,7 +318,10 @@ class OutputDynatraceHTTP(BaseModel):
311
318
  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."""
312
319
 
313
320
  failed_request_logging_mode: Annotated[
314
- Optional[OutputDynatraceHTTPFailedRequestLoggingMode],
321
+ Annotated[
322
+ Optional[OutputDynatraceHTTPFailedRequestLoggingMode],
323
+ PlainValidator(validate_open_enum(False)),
324
+ ],
315
325
  pydantic.Field(alias="failedRequestLoggingMode"),
316
326
  ] = OutputDynatraceHTTPFailedRequestLoggingMode.NONE
317
327
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -338,25 +348,38 @@ class OutputDynatraceHTTP(BaseModel):
338
348
  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."""
339
349
 
340
350
  on_backpressure: Annotated[
341
- Optional[OutputDynatraceHTTPBackpressureBehavior],
351
+ Annotated[
352
+ Optional[OutputDynatraceHTTPBackpressureBehavior],
353
+ PlainValidator(validate_open_enum(False)),
354
+ ],
342
355
  pydantic.Field(alias="onBackpressure"),
343
356
  ] = OutputDynatraceHTTPBackpressureBehavior.BLOCK
344
357
  r"""How to handle events when all receivers are exerting backpressure"""
345
358
 
346
359
  auth_type: Annotated[
347
- Optional[OutputDynatraceHTTPAuthenticationType],
360
+ Annotated[
361
+ Optional[OutputDynatraceHTTPAuthenticationType],
362
+ PlainValidator(validate_open_enum(False)),
363
+ ],
348
364
  pydantic.Field(alias="authType"),
349
365
  ] = OutputDynatraceHTTPAuthenticationType.TOKEN
350
366
 
351
367
  format_: Annotated[
352
- Optional[OutputDynatraceHTTPFormat], pydantic.Field(alias="format")
368
+ Annotated[
369
+ Optional[OutputDynatraceHTTPFormat],
370
+ PlainValidator(validate_open_enum(False)),
371
+ ],
372
+ pydantic.Field(alias="format"),
353
373
  ] = OutputDynatraceHTTPFormat.JSON_ARRAY
354
374
  r"""How to format events before sending. Defaults to JSON. Plaintext is not currently supported."""
355
375
 
356
- endpoint: Optional[Endpoint] = Endpoint.CLOUD
376
+ endpoint: Annotated[
377
+ Optional[Endpoint], PlainValidator(validate_open_enum(False))
378
+ ] = Endpoint.CLOUD
357
379
 
358
380
  telemetry_type: Annotated[
359
- Optional[TelemetryType], pydantic.Field(alias="telemetryType")
381
+ Annotated[Optional[TelemetryType], PlainValidator(validate_open_enum(False))],
382
+ pydantic.Field(alias="telemetryType"),
360
383
  ] = TelemetryType.LOGS
361
384
 
362
385
  total_memory_limit_kb: Annotated[
@@ -380,18 +403,28 @@ class OutputDynatraceHTTP(BaseModel):
380
403
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
381
404
 
382
405
  pq_compress: Annotated[
383
- Optional[OutputDynatraceHTTPCompression], pydantic.Field(alias="pqCompress")
406
+ Annotated[
407
+ Optional[OutputDynatraceHTTPCompression],
408
+ PlainValidator(validate_open_enum(False)),
409
+ ],
410
+ pydantic.Field(alias="pqCompress"),
384
411
  ] = OutputDynatraceHTTPCompression.NONE
385
412
  r"""Codec to use to compress the persisted data"""
386
413
 
387
414
  pq_on_backpressure: Annotated[
388
- Optional[OutputDynatraceHTTPQueueFullBehavior],
415
+ Annotated[
416
+ Optional[OutputDynatraceHTTPQueueFullBehavior],
417
+ PlainValidator(validate_open_enum(False)),
418
+ ],
389
419
  pydantic.Field(alias="pqOnBackpressure"),
390
420
  ] = OutputDynatraceHTTPQueueFullBehavior.BLOCK
391
421
  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."""
392
422
 
393
423
  pq_mode: Annotated[
394
- Optional[OutputDynatraceHTTPMode], pydantic.Field(alias="pqMode")
424
+ Annotated[
425
+ Optional[OutputDynatraceHTTPMode], PlainValidator(validate_open_enum(False))
426
+ ],
427
+ pydantic.Field(alias="pqMode"),
395
428
  ] = OutputDynatraceHTTPMode.ERROR
396
429
  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."""
397
430
 
@@ -1,9 +1,12 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
7
10
  from typing import List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -12,19 +15,19 @@ class OutputDynatraceOtlpType(str, Enum):
12
15
  DYNATRACE_OTLP = "dynatrace_otlp"
13
16
 
14
17
 
15
- class OutputDynatraceOtlpProtocol(str, Enum):
18
+ class OutputDynatraceOtlpProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Select a transport option for Dynatrace"""
17
20
 
18
21
  HTTP = "http"
19
22
 
20
23
 
21
- class OutputDynatraceOTLPOTLPVersion(str, Enum):
24
+ class OutputDynatraceOTLPOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
22
25
  r"""The version of OTLP Protobuf definitions to use when structuring data to send"""
23
26
 
24
27
  ONE_DOT_3_DOT_1 = "1.3.1"
25
28
 
26
29
 
27
- class OutputDynatraceOtlpCompressCompression(str, Enum):
30
+ class OutputDynatraceOtlpCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
28
31
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
29
32
 
30
33
  NONE = "none"
@@ -32,7 +35,9 @@ class OutputDynatraceOtlpCompressCompression(str, Enum):
32
35
  GZIP = "gzip"
33
36
 
34
37
 
35
- class OutputDynatraceOtlpHTTPCompressCompression(str, Enum):
38
+ class OutputDynatraceOtlpHTTPCompressCompression(
39
+ str, Enum, metaclass=utils.OpenEnumMeta
40
+ ):
36
41
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
37
42
 
38
43
  NONE = "none"
@@ -50,7 +55,9 @@ class OutputDynatraceOtlpMetadatum(BaseModel):
50
55
  key: Optional[str] = ""
51
56
 
52
57
 
53
- class OutputDynatraceOtlpFailedRequestLoggingMode(str, Enum):
58
+ class OutputDynatraceOtlpFailedRequestLoggingMode(
59
+ str, Enum, metaclass=utils.OpenEnumMeta
60
+ ):
54
61
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
55
62
 
56
63
  PAYLOAD = "payload"
@@ -58,14 +65,14 @@ class OutputDynatraceOtlpFailedRequestLoggingMode(str, Enum):
58
65
  NONE = "none"
59
66
 
60
67
 
61
- class EndpointType(str, Enum):
68
+ class EndpointType(str, Enum, metaclass=utils.OpenEnumMeta):
62
69
  r"""Select the type of Dynatrace endpoint configured"""
63
70
 
64
71
  SAAS = "saas"
65
72
  AG = "ag"
66
73
 
67
74
 
68
- class OutputDynatraceOtlpBackpressureBehavior(str, Enum):
75
+ class OutputDynatraceOtlpBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
69
76
  r"""How to handle events when all receivers are exerting backpressure"""
70
77
 
71
78
  BLOCK = "block"
@@ -138,21 +145,21 @@ class OutputDynatraceOtlpTimeoutRetrySettings(BaseModel):
138
145
  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)."""
139
146
 
140
147
 
141
- class OutputDynatraceOtlpPqCompressCompression(str, Enum):
148
+ class OutputDynatraceOtlpPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
142
149
  r"""Codec to use to compress the persisted data"""
143
150
 
144
151
  NONE = "none"
145
152
  GZIP = "gzip"
146
153
 
147
154
 
148
- class OutputDynatraceOtlpQueueFullBehavior(str, Enum):
155
+ class OutputDynatraceOtlpQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
149
156
  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."""
150
157
 
151
158
  BLOCK = "block"
152
159
  DROP = "drop"
153
160
 
154
161
 
155
- class OutputDynatraceOtlpMode(str, Enum):
162
+ class OutputDynatraceOtlpMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
163
  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."""
157
164
 
158
165
  ERROR = "error"
@@ -282,7 +289,9 @@ class OutputDynatraceOtlp(BaseModel):
282
289
  streamtags: Optional[List[str]] = None
283
290
  r"""Tags for filtering and grouping in @{product}"""
284
291
 
285
- protocol: Optional[OutputDynatraceOtlpProtocol] = OutputDynatraceOtlpProtocol.HTTP
292
+ protocol: Annotated[
293
+ Optional[OutputDynatraceOtlpProtocol], PlainValidator(validate_open_enum(False))
294
+ ] = OutputDynatraceOtlpProtocol.HTTP
286
295
  r"""Select a transport option for Dynatrace"""
287
296
 
288
297
  endpoint: Optional[str] = (
@@ -291,17 +300,25 @@ class OutputDynatraceOtlp(BaseModel):
291
300
  r"""The endpoint where Dynatrace events will be sent. Enter any valid URL or an IP address (IPv4 or IPv6; enclose IPv6 addresses in square brackets)"""
292
301
 
293
302
  otlp_version: Annotated[
294
- Optional[OutputDynatraceOTLPOTLPVersion], pydantic.Field(alias="otlpVersion")
303
+ Annotated[
304
+ Optional[OutputDynatraceOTLPOTLPVersion],
305
+ PlainValidator(validate_open_enum(False)),
306
+ ],
307
+ pydantic.Field(alias="otlpVersion"),
295
308
  ] = OutputDynatraceOTLPOTLPVersion.ONE_DOT_3_DOT_1
296
309
  r"""The version of OTLP Protobuf definitions to use when structuring data to send"""
297
310
 
298
- compress: Optional[OutputDynatraceOtlpCompressCompression] = (
299
- OutputDynatraceOtlpCompressCompression.GZIP
300
- )
311
+ compress: Annotated[
312
+ Optional[OutputDynatraceOtlpCompressCompression],
313
+ PlainValidator(validate_open_enum(False)),
314
+ ] = OutputDynatraceOtlpCompressCompression.GZIP
301
315
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
302
316
 
303
317
  http_compress: Annotated[
304
- Optional[OutputDynatraceOtlpHTTPCompressCompression],
318
+ Annotated[
319
+ Optional[OutputDynatraceOtlpHTTPCompressCompression],
320
+ PlainValidator(validate_open_enum(False)),
321
+ ],
305
322
  pydantic.Field(alias="httpCompress"),
306
323
  ] = OutputDynatraceOtlpHTTPCompressCompression.GZIP
307
324
  r"""Type of compression to apply to messages sent to the OpenTelemetry endpoint"""
@@ -341,7 +358,10 @@ class OutputDynatraceOtlp(BaseModel):
341
358
  r"""Maximum time between requests. Small values could cause the payload size to be smaller than the configured Body size limit."""
342
359
 
343
360
  failed_request_logging_mode: Annotated[
344
- Optional[OutputDynatraceOtlpFailedRequestLoggingMode],
361
+ Annotated[
362
+ Optional[OutputDynatraceOtlpFailedRequestLoggingMode],
363
+ PlainValidator(validate_open_enum(False)),
364
+ ],
345
365
  pydantic.Field(alias="failedRequestLoggingMode"),
346
366
  ] = OutputDynatraceOtlpFailedRequestLoggingMode.NONE
347
367
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -360,7 +380,8 @@ class OutputDynatraceOtlp(BaseModel):
360
380
  r"""Disable to close the connection immediately after sending the outgoing request"""
361
381
 
362
382
  endpoint_type: Annotated[
363
- Optional[EndpointType], pydantic.Field(alias="endpointType")
383
+ Annotated[Optional[EndpointType], PlainValidator(validate_open_enum(False))],
384
+ pydantic.Field(alias="endpointType"),
364
385
  ] = EndpointType.SAAS
365
386
  r"""Select the type of Dynatrace endpoint configured"""
366
387
 
@@ -369,7 +390,10 @@ class OutputDynatraceOtlp(BaseModel):
369
390
  )
370
391
 
371
392
  on_backpressure: Annotated[
372
- Optional[OutputDynatraceOtlpBackpressureBehavior],
393
+ Annotated[
394
+ Optional[OutputDynatraceOtlpBackpressureBehavior],
395
+ PlainValidator(validate_open_enum(False)),
396
+ ],
373
397
  pydantic.Field(alias="onBackpressure"),
374
398
  ] = OutputDynatraceOtlpBackpressureBehavior.BLOCK
375
399
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -430,19 +454,28 @@ class OutputDynatraceOtlp(BaseModel):
430
454
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
431
455
 
432
456
  pq_compress: Annotated[
433
- Optional[OutputDynatraceOtlpPqCompressCompression],
457
+ Annotated[
458
+ Optional[OutputDynatraceOtlpPqCompressCompression],
459
+ PlainValidator(validate_open_enum(False)),
460
+ ],
434
461
  pydantic.Field(alias="pqCompress"),
435
462
  ] = OutputDynatraceOtlpPqCompressCompression.NONE
436
463
  r"""Codec to use to compress the persisted data"""
437
464
 
438
465
  pq_on_backpressure: Annotated[
439
- Optional[OutputDynatraceOtlpQueueFullBehavior],
466
+ Annotated[
467
+ Optional[OutputDynatraceOtlpQueueFullBehavior],
468
+ PlainValidator(validate_open_enum(False)),
469
+ ],
440
470
  pydantic.Field(alias="pqOnBackpressure"),
441
471
  ] = OutputDynatraceOtlpQueueFullBehavior.BLOCK
442
472
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
443
473
 
444
474
  pq_mode: Annotated[
445
- Optional[OutputDynatraceOtlpMode], pydantic.Field(alias="pqMode")
475
+ Annotated[
476
+ Optional[OutputDynatraceOtlpMode], PlainValidator(validate_open_enum(False))
477
+ ],
478
+ pydantic.Field(alias="pqMode"),
446
479
  ] = OutputDynatraceOtlpMode.ERROR
447
480
  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."""
448
481