cribl-control-plane 0.0.44__py3-none-any.whl → 0.0.44a2__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (158) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/models/__init__.py +3 -3
  4. cribl_control_plane/models/appmode.py +2 -1
  5. cribl_control_plane/models/cacheconnection.py +10 -2
  6. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  7. cribl_control_plane/models/cloudprovider.py +2 -1
  8. cribl_control_plane/models/configgroup.py +7 -2
  9. cribl_control_plane/models/configgroupcloud.py +6 -2
  10. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  11. cribl_control_plane/models/cribllakedataset.py +8 -2
  12. cribl_control_plane/models/datasetmetadata.py +8 -2
  13. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  14. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  15. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  16. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  17. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  18. cribl_control_plane/models/getsummaryop.py +7 -2
  19. cribl_control_plane/models/hbcriblinfo.py +6 -1
  20. cribl_control_plane/models/healthstatus.py +7 -4
  21. cribl_control_plane/models/inputappscope.py +34 -14
  22. cribl_control_plane/models/inputazureblob.py +17 -6
  23. cribl_control_plane/models/inputcollection.py +11 -4
  24. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  25. cribl_control_plane/models/inputcribl.py +11 -4
  26. cribl_control_plane/models/inputcriblhttp.py +23 -8
  27. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  28. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  29. cribl_control_plane/models/inputcribltcp.py +23 -8
  30. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  31. cribl_control_plane/models/inputdatadogagent.py +24 -8
  32. cribl_control_plane/models/inputdatagen.py +11 -4
  33. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  34. cribl_control_plane/models/inputelastic.py +40 -14
  35. cribl_control_plane/models/inputeventhub.py +15 -6
  36. cribl_control_plane/models/inputexec.py +14 -6
  37. cribl_control_plane/models/inputfile.py +15 -6
  38. cribl_control_plane/models/inputfirehose.py +23 -8
  39. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  40. cribl_control_plane/models/inputgrafana.py +67 -24
  41. cribl_control_plane/models/inputhttp.py +23 -8
  42. cribl_control_plane/models/inputhttpraw.py +23 -8
  43. cribl_control_plane/models/inputjournalfiles.py +12 -4
  44. cribl_control_plane/models/inputkafka.py +46 -16
  45. cribl_control_plane/models/inputkinesis.py +38 -14
  46. cribl_control_plane/models/inputkubeevents.py +11 -4
  47. cribl_control_plane/models/inputkubelogs.py +16 -8
  48. cribl_control_plane/models/inputkubemetrics.py +16 -8
  49. cribl_control_plane/models/inputloki.py +29 -10
  50. cribl_control_plane/models/inputmetrics.py +23 -8
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
  52. cribl_control_plane/models/inputmsk.py +53 -18
  53. cribl_control_plane/models/inputnetflow.py +11 -4
  54. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  55. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  56. cribl_control_plane/models/inputoffice365service.py +35 -16
  57. cribl_control_plane/models/inputopentelemetry.py +38 -16
  58. cribl_control_plane/models/inputprometheus.py +50 -18
  59. cribl_control_plane/models/inputprometheusrw.py +30 -10
  60. cribl_control_plane/models/inputrawudp.py +11 -4
  61. cribl_control_plane/models/inputs3.py +21 -8
  62. cribl_control_plane/models/inputs3inventory.py +26 -10
  63. cribl_control_plane/models/inputsecuritylake.py +27 -10
  64. cribl_control_plane/models/inputsnmp.py +16 -6
  65. cribl_control_plane/models/inputsplunk.py +33 -12
  66. cribl_control_plane/models/inputsplunkhec.py +29 -10
  67. cribl_control_plane/models/inputsplunksearch.py +33 -14
  68. cribl_control_plane/models/inputsqs.py +27 -10
  69. cribl_control_plane/models/inputsyslog.py +43 -16
  70. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  71. cribl_control_plane/models/inputsystemstate.py +16 -8
  72. cribl_control_plane/models/inputtcp.py +29 -10
  73. cribl_control_plane/models/inputtcpjson.py +29 -10
  74. cribl_control_plane/models/inputwef.py +37 -14
  75. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  76. cribl_control_plane/models/inputwineventlogs.py +20 -10
  77. cribl_control_plane/models/inputwiz.py +21 -8
  78. cribl_control_plane/models/inputwizwebhook.py +23 -8
  79. cribl_control_plane/models/inputzscalerhec.py +29 -10
  80. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  82. cribl_control_plane/models/masterworkerentry.py +7 -2
  83. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  84. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  85. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  86. cribl_control_plane/models/nodeupgradestate.py +2 -1
  87. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  88. cribl_control_plane/models/outputazureblob.py +48 -18
  89. cribl_control_plane/models/outputazuredataexplorer.py +74 -29
  90. cribl_control_plane/models/outputazureeventhub.py +40 -18
  91. cribl_control_plane/models/outputazurelogs.py +36 -13
  92. cribl_control_plane/models/outputclickhouse.py +56 -21
  93. cribl_control_plane/models/outputcloudwatch.py +29 -10
  94. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  95. cribl_control_plane/models/outputcriblhttp.py +46 -18
  96. cribl_control_plane/models/outputcribllake.py +46 -16
  97. cribl_control_plane/models/outputcribltcp.py +45 -18
  98. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
  99. cribl_control_plane/models/outputdatadog.py +48 -20
  100. cribl_control_plane/models/outputdataset.py +46 -18
  101. cribl_control_plane/models/outputdiskspool.py +7 -2
  102. cribl_control_plane/models/outputdls3.py +68 -24
  103. cribl_control_plane/models/outputdynatracehttp.py +54 -21
  104. cribl_control_plane/models/outputdynatraceotlp.py +56 -23
  105. cribl_control_plane/models/outputelastic.py +44 -19
  106. cribl_control_plane/models/outputelasticcloud.py +37 -13
  107. cribl_control_plane/models/outputexabeam.py +29 -10
  108. cribl_control_plane/models/outputfilesystem.py +39 -14
  109. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  110. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  111. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  112. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  113. cribl_control_plane/models/outputgrafanacloud.py +99 -34
  114. cribl_control_plane/models/outputgraphite.py +31 -14
  115. cribl_control_plane/models/outputhoneycomb.py +36 -13
  116. cribl_control_plane/models/outputhumiohec.py +44 -17
  117. cribl_control_plane/models/outputinfluxdb.py +43 -17
  118. cribl_control_plane/models/outputkafka.py +74 -28
  119. cribl_control_plane/models/outputkinesis.py +40 -16
  120. cribl_control_plane/models/outputloki.py +41 -16
  121. cribl_control_plane/models/outputminio.py +65 -24
  122. cribl_control_plane/models/outputmsk.py +82 -30
  123. cribl_control_plane/models/outputnewrelic.py +43 -18
  124. cribl_control_plane/models/outputnewrelicevents.py +42 -15
  125. cribl_control_plane/models/outputopentelemetry.py +68 -27
  126. cribl_control_plane/models/outputprometheus.py +36 -13
  127. cribl_control_plane/models/outputring.py +19 -8
  128. cribl_control_plane/models/outputs3.py +68 -26
  129. cribl_control_plane/models/outputsecuritylake.py +52 -18
  130. cribl_control_plane/models/outputsentinel.py +45 -18
  131. cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
  132. cribl_control_plane/models/outputservicenow.py +61 -25
  133. cribl_control_plane/models/outputsignalfx.py +38 -15
  134. cribl_control_plane/models/outputsns.py +36 -14
  135. cribl_control_plane/models/outputsplunk.py +60 -24
  136. cribl_control_plane/models/outputsplunkhec.py +36 -13
  137. cribl_control_plane/models/outputsplunklb.py +77 -30
  138. cribl_control_plane/models/outputsqs.py +41 -16
  139. cribl_control_plane/models/outputstatsd.py +30 -14
  140. cribl_control_plane/models/outputstatsdext.py +29 -12
  141. cribl_control_plane/models/outputsumologic.py +35 -12
  142. cribl_control_plane/models/outputsyslog.py +58 -24
  143. cribl_control_plane/models/outputtcpjson.py +52 -20
  144. cribl_control_plane/models/outputwavefront.py +36 -13
  145. cribl_control_plane/models/outputwebhook.py +58 -22
  146. cribl_control_plane/models/outputxsiam.py +36 -15
  147. cribl_control_plane/models/productscore.py +2 -1
  148. cribl_control_plane/models/rbacresource.py +2 -1
  149. cribl_control_plane/models/resourcepolicy.py +4 -2
  150. cribl_control_plane/models/runnablejobcollection.py +30 -13
  151. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  155. cribl_control_plane/models/workertypes.py +2 -1
  156. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
  157. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/RECORD +158 -158
  158. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.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 Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputZscalerHecConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputZscalerHecMode(str, Enum):
29
+ class InputZscalerHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputZscalerHecCompression(str, Enum):
36
+ class InputZscalerHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputZscalerHecPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputZscalerHecPq(BaseModel):
67
- mode: Optional[InputZscalerHecMode] = InputZscalerHecMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputZscalerHecMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputZscalerHecMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputZscalerHecPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputZscalerHecCompression] = InputZscalerHecCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputZscalerHecCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputZscalerHecCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputZscalerHecPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputZscalerHecAuthenticationMethod(str, Enum):
106
+ class InputZscalerHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
101
108
 
102
109
  MANUAL = "manual"
@@ -133,7 +140,11 @@ class InputZscalerHecAuthToken(BaseModel):
133
140
  token: Any
134
141
 
135
142
  auth_type: Annotated[
136
- Optional[InputZscalerHecAuthenticationMethod], pydantic.Field(alias="authType")
143
+ Annotated[
144
+ Optional[InputZscalerHecAuthenticationMethod],
145
+ PlainValidator(validate_open_enum(False)),
146
+ ],
147
+ pydantic.Field(alias="authType"),
137
148
  ] = InputZscalerHecAuthenticationMethod.MANUAL
138
149
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
139
150
 
@@ -152,14 +163,14 @@ class InputZscalerHecAuthToken(BaseModel):
152
163
  r"""Fields to add to events referencing this token"""
153
164
 
154
165
 
155
- class InputZscalerHecMinimumTLSVersion(str, Enum):
166
+ class InputZscalerHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
156
167
  TL_SV1 = "TLSv1"
157
168
  TL_SV1_1 = "TLSv1.1"
158
169
  TL_SV1_2 = "TLSv1.2"
159
170
  TL_SV1_3 = "TLSv1.3"
160
171
 
161
172
 
162
- class InputZscalerHecMaximumTLSVersion(str, Enum):
173
+ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
163
174
  TL_SV1 = "TLSv1"
164
175
  TL_SV1_1 = "TLSv1.1"
165
176
  TL_SV1_2 = "TLSv1.2"
@@ -218,11 +229,19 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
218
229
  ] = None
219
230
 
220
231
  min_version: Annotated[
221
- Optional[InputZscalerHecMinimumTLSVersion], pydantic.Field(alias="minVersion")
232
+ Annotated[
233
+ Optional[InputZscalerHecMinimumTLSVersion],
234
+ PlainValidator(validate_open_enum(False)),
235
+ ],
236
+ pydantic.Field(alias="minVersion"),
222
237
  ] = None
223
238
 
224
239
  max_version: Annotated[
225
- Optional[InputZscalerHecMaximumTLSVersion], pydantic.Field(alias="maxVersion")
240
+ Annotated[
241
+ Optional[InputZscalerHecMaximumTLSVersion],
242
+ PlainValidator(validate_open_enum(False)),
243
+ ],
244
+ pydantic.Field(alias="maxVersion"),
226
245
  ] = None
227
246
 
228
247
 
@@ -1,9 +1,10 @@
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 enum import Enum
5
6
 
6
7
 
7
- class LakehouseConnectionType(str, Enum):
8
+ class LakehouseConnectionType(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  CACHE = "cache"
9
10
  ZERO_POINT = "zeroPoint"
@@ -8,7 +8,9 @@ from cribl_control_plane.utils import (
8
8
  FieldMetadata,
9
9
  PathParamMetadata,
10
10
  QueryParamMetadata,
11
+ validate_open_enum,
11
12
  )
13
+ from pydantic.functional_validators import PlainValidator
12
14
  from typing import List, Optional
13
15
  from typing_extensions import Annotated, NotRequired, TypedDict
14
16
 
@@ -22,7 +24,7 @@ class ListConfigGroupByProductRequestTypedDict(TypedDict):
22
24
 
23
25
  class ListConfigGroupByProductRequest(BaseModel):
24
26
  product: Annotated[
25
- ProductsCore,
27
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
26
28
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
27
29
  ]
28
30
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -4,9 +4,12 @@ from __future__ import annotations
4
4
  from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
5
5
  from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
6
6
  from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
7
+ from cribl_control_plane import utils
7
8
  from cribl_control_plane.types import BaseModel
9
+ from cribl_control_plane.utils import validate_open_enum
8
10
  from enum import Enum
9
11
  import pydantic
12
+ from pydantic.functional_validators import PlainValidator
10
13
  from typing import Optional
11
14
  from typing_extensions import Annotated, NotRequired, TypedDict
12
15
 
@@ -19,7 +22,7 @@ class LastMetrics(BaseModel):
19
22
  pass
20
23
 
21
24
 
22
- class MasterWorkerEntryType(str, Enum):
25
+ class MasterWorkerEntryType(str, Enum, metaclass=utils.OpenEnumMeta):
23
26
  INFO = "info"
24
27
  REQ = "req"
25
28
  RESP = "resp"
@@ -79,6 +82,8 @@ class MasterWorkerEntry(BaseModel):
79
82
 
80
83
  status: Optional[str] = None
81
84
 
82
- type: Optional[MasterWorkerEntryType] = None
85
+ type: Annotated[
86
+ Optional[MasterWorkerEntryType], PlainValidator(validate_open_enum(False))
87
+ ] = None
83
88
 
84
89
  workers: Optional[MasterWorkerEntryWorkers] = None
@@ -1,10 +1,11 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeActiveUpgradeStatus(int, Enum):
8
+ class NodeActiveUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,9 +1,10 @@
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 enum import Enum
5
6
 
6
7
 
7
- class NodeFailedUpgradeStatus(int, Enum):
8
+ class NodeFailedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
@@ -1,10 +1,11 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeSkippedUpgradeStatus(int, Enum):
8
+ class NodeSkippedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,10 +1,11 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import utils
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeUpgradeState(int, Enum):
8
+ class NodeUpgradeState(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -6,8 +6,10 @@ from .nodefailedupgradestatus import NodeFailedUpgradeStatus
6
6
  from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus
7
7
  from .nodeupgradestate import NodeUpgradeState
8
8
  from cribl_control_plane.types import BaseModel
9
+ from cribl_control_plane.utils import validate_open_enum
10
+ from pydantic.functional_validators import PlainValidator
9
11
  from typing import Optional
10
- from typing_extensions import NotRequired, TypedDict
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
13
 
12
14
 
13
15
  class NodeUpgradeStatusTypedDict(TypedDict):
@@ -19,12 +21,18 @@ class NodeUpgradeStatusTypedDict(TypedDict):
19
21
 
20
22
 
21
23
  class NodeUpgradeStatus(BaseModel):
22
- state: NodeUpgradeState
24
+ state: Annotated[NodeUpgradeState, PlainValidator(validate_open_enum(True))]
23
25
 
24
26
  timestamp: float
25
27
 
26
- active: Optional[NodeActiveUpgradeStatus] = None
28
+ active: Annotated[
29
+ Optional[NodeActiveUpgradeStatus], PlainValidator(validate_open_enum(True))
30
+ ] = None
27
31
 
28
- failed: Optional[NodeFailedUpgradeStatus] = None
32
+ failed: Annotated[
33
+ Optional[NodeFailedUpgradeStatus], PlainValidator(validate_open_enum(True))
34
+ ] = None
29
35
 
30
- skipped: Optional[NodeSkippedUpgradeStatus] = None
36
+ skipped: Annotated[
37
+ Optional[NodeSkippedUpgradeStatus], PlainValidator(validate_open_enum(True))
38
+ ] = None
@@ -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 OutputAzureBlobType(str, Enum):
12
15
  AZURE_BLOB = "azure_blob"
13
16
 
14
17
 
15
- class OutputAzureBlobDataFormat(str, Enum):
18
+ class OutputAzureBlobDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  r"""Format of the output data"""
17
20
 
18
21
  JSON = "json"
@@ -20,28 +23,28 @@ class OutputAzureBlobDataFormat(str, Enum):
20
23
  PARQUET = "parquet"
21
24
 
22
25
 
23
- class OutputAzureBlobBackpressureBehavior(str, Enum):
26
+ class OutputAzureBlobBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
24
27
  r"""How to handle events when all receivers are exerting backpressure"""
25
28
 
26
29
  BLOCK = "block"
27
30
  DROP = "drop"
28
31
 
29
32
 
30
- class OutputAzureBlobDiskSpaceProtection(str, Enum):
33
+ class OutputAzureBlobDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
32
35
 
33
36
  BLOCK = "block"
34
37
  DROP = "drop"
35
38
 
36
39
 
37
- class OutputAzureBlobAuthenticationMethod(str, Enum):
40
+ class OutputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
38
41
  MANUAL = "manual"
39
42
  SECRET = "secret"
40
43
  CLIENT_SECRET = "clientSecret"
41
44
  CLIENT_CERT = "clientCert"
42
45
 
43
46
 
44
- class BlobAccessTier(str, Enum):
47
+ class BlobAccessTier(str, Enum, metaclass=utils.OpenEnumMeta):
45
48
  INFERRED = "Inferred"
46
49
  HOT = "Hot"
47
50
  COOL = "Cool"
@@ -49,14 +52,14 @@ class BlobAccessTier(str, Enum):
49
52
  ARCHIVE = "Archive"
50
53
 
51
54
 
52
- class OutputAzureBlobCompression(str, Enum):
55
+ class OutputAzureBlobCompression(str, Enum, metaclass=utils.OpenEnumMeta):
53
56
  r"""Data compression format to apply to HTTP content before it is delivered"""
54
57
 
55
58
  NONE = "none"
56
59
  GZIP = "gzip"
57
60
 
58
61
 
59
- class OutputAzureBlobCompressionLevel(str, Enum):
62
+ class OutputAzureBlobCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
60
63
  r"""Compression level to apply before moving files to final destination"""
61
64
 
62
65
  BEST_SPEED = "best_speed"
@@ -64,7 +67,7 @@ class OutputAzureBlobCompressionLevel(str, Enum):
64
67
  BEST_COMPRESSION = "best_compression"
65
68
 
66
69
 
67
- class OutputAzureBlobParquetVersion(str, Enum):
70
+ class OutputAzureBlobParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
68
71
  r"""Determines which data types are supported and how they are represented"""
69
72
 
70
73
  PARQUET_1_0 = "PARQUET_1_0"
@@ -72,7 +75,7 @@ class OutputAzureBlobParquetVersion(str, Enum):
72
75
  PARQUET_2_6 = "PARQUET_2_6"
73
76
 
74
77
 
75
- class OutputAzureBlobDataPageVersion(str, Enum):
78
+ class OutputAzureBlobDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
76
79
  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."""
77
80
 
78
81
  DATA_PAGE_V1 = "DATA_PAGE_V1"
@@ -261,7 +264,11 @@ class OutputAzureBlob(BaseModel):
261
264
  r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
262
265
 
263
266
  format_: Annotated[
264
- Optional[OutputAzureBlobDataFormat], pydantic.Field(alias="format")
267
+ Annotated[
268
+ Optional[OutputAzureBlobDataFormat],
269
+ PlainValidator(validate_open_enum(False)),
270
+ ],
271
+ pydantic.Field(alias="format"),
265
272
  ] = OutputAzureBlobDataFormat.JSON
266
273
  r"""Format of the output data"""
267
274
 
@@ -304,7 +311,10 @@ class OutputAzureBlob(BaseModel):
304
311
  r"""Buffer size used to write to a file"""
305
312
 
306
313
  on_backpressure: Annotated[
307
- Optional[OutputAzureBlobBackpressureBehavior],
314
+ Annotated[
315
+ Optional[OutputAzureBlobBackpressureBehavior],
316
+ PlainValidator(validate_open_enum(False)),
317
+ ],
308
318
  pydantic.Field(alias="onBackpressure"),
309
319
  ] = OutputAzureBlobBackpressureBehavior.BLOCK
310
320
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -315,26 +325,39 @@ class OutputAzureBlob(BaseModel):
315
325
  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"""
316
326
 
317
327
  on_disk_full_backpressure: Annotated[
318
- Optional[OutputAzureBlobDiskSpaceProtection],
328
+ Annotated[
329
+ Optional[OutputAzureBlobDiskSpaceProtection],
330
+ PlainValidator(validate_open_enum(False)),
331
+ ],
319
332
  pydantic.Field(alias="onDiskFullBackpressure"),
320
333
  ] = OutputAzureBlobDiskSpaceProtection.BLOCK
321
334
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
322
335
 
323
336
  auth_type: Annotated[
324
- Optional[OutputAzureBlobAuthenticationMethod], pydantic.Field(alias="authType")
337
+ Annotated[
338
+ Optional[OutputAzureBlobAuthenticationMethod],
339
+ PlainValidator(validate_open_enum(False)),
340
+ ],
341
+ pydantic.Field(alias="authType"),
325
342
  ] = OutputAzureBlobAuthenticationMethod.MANUAL
326
343
 
327
344
  storage_class: Annotated[
328
- Optional[BlobAccessTier], pydantic.Field(alias="storageClass")
345
+ Annotated[Optional[BlobAccessTier], PlainValidator(validate_open_enum(False))],
346
+ pydantic.Field(alias="storageClass"),
329
347
  ] = BlobAccessTier.INFERRED
330
348
 
331
349
  description: Optional[str] = None
332
350
 
333
- compress: Optional[OutputAzureBlobCompression] = OutputAzureBlobCompression.GZIP
351
+ compress: Annotated[
352
+ Optional[OutputAzureBlobCompression], PlainValidator(validate_open_enum(False))
353
+ ] = OutputAzureBlobCompression.GZIP
334
354
  r"""Data compression format to apply to HTTP content before it is delivered"""
335
355
 
336
356
  compression_level: Annotated[
337
- Optional[OutputAzureBlobCompressionLevel],
357
+ Annotated[
358
+ Optional[OutputAzureBlobCompressionLevel],
359
+ PlainValidator(validate_open_enum(False)),
360
+ ],
338
361
  pydantic.Field(alias="compressionLevel"),
339
362
  ] = OutputAzureBlobCompressionLevel.BEST_SPEED
340
363
  r"""Compression level to apply before moving files to final destination"""
@@ -345,12 +368,19 @@ class OutputAzureBlob(BaseModel):
345
368
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
346
369
 
347
370
  parquet_version: Annotated[
348
- Optional[OutputAzureBlobParquetVersion], pydantic.Field(alias="parquetVersion")
371
+ Annotated[
372
+ Optional[OutputAzureBlobParquetVersion],
373
+ PlainValidator(validate_open_enum(False)),
374
+ ],
375
+ pydantic.Field(alias="parquetVersion"),
349
376
  ] = OutputAzureBlobParquetVersion.PARQUET_2_6
350
377
  r"""Determines which data types are supported and how they are represented"""
351
378
 
352
379
  parquet_data_page_version: Annotated[
353
- Optional[OutputAzureBlobDataPageVersion],
380
+ Annotated[
381
+ Optional[OutputAzureBlobDataPageVersion],
382
+ PlainValidator(validate_open_enum(False)),
383
+ ],
354
384
  pydantic.Field(alias="parquetDataPageVersion"),
355
385
  ] = OutputAzureBlobDataPageVersion.DATA_PAGE_V2
356
386
  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."""