cribl-control-plane 0.0.44a1__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 (174) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +1 -1
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +5 -3
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +11 -1
  6. cribl_control_plane/commits.py +5 -3
  7. cribl_control_plane/destinations.py +6 -4
  8. cribl_control_plane/errors/__init__.py +15 -3
  9. cribl_control_plane/errors/healthstatus_error.py +8 -2
  10. cribl_control_plane/groups_configs.py +8 -3
  11. cribl_control_plane/groups_sdk.py +6 -4
  12. cribl_control_plane/models/__init__.py +17 -4
  13. cribl_control_plane/models/appmode.py +2 -1
  14. cribl_control_plane/models/cacheconnection.py +10 -2
  15. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  16. cribl_control_plane/models/cloudprovider.py +2 -1
  17. cribl_control_plane/models/configgroup.py +7 -2
  18. cribl_control_plane/models/configgroupcloud.py +6 -2
  19. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  20. cribl_control_plane/models/cribllakedataset.py +8 -2
  21. cribl_control_plane/models/datasetmetadata.py +8 -2
  22. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  23. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  24. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  25. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  26. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  27. cribl_control_plane/models/getsummaryop.py +7 -2
  28. cribl_control_plane/models/hbcriblinfo.py +6 -1
  29. cribl_control_plane/models/healthstatus.py +7 -4
  30. cribl_control_plane/models/inputappscope.py +34 -14
  31. cribl_control_plane/models/inputazureblob.py +17 -6
  32. cribl_control_plane/models/inputcollection.py +11 -4
  33. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  34. cribl_control_plane/models/inputcribl.py +11 -4
  35. cribl_control_plane/models/inputcriblhttp.py +23 -8
  36. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  37. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  38. cribl_control_plane/models/inputcribltcp.py +23 -8
  39. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  40. cribl_control_plane/models/inputdatadogagent.py +24 -8
  41. cribl_control_plane/models/inputdatagen.py +11 -4
  42. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  43. cribl_control_plane/models/inputelastic.py +40 -14
  44. cribl_control_plane/models/inputeventhub.py +15 -6
  45. cribl_control_plane/models/inputexec.py +14 -6
  46. cribl_control_plane/models/inputfile.py +15 -6
  47. cribl_control_plane/models/inputfirehose.py +23 -8
  48. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  49. cribl_control_plane/models/inputgrafana.py +67 -24
  50. cribl_control_plane/models/inputhttp.py +23 -8
  51. cribl_control_plane/models/inputhttpraw.py +23 -8
  52. cribl_control_plane/models/inputjournalfiles.py +12 -4
  53. cribl_control_plane/models/inputkafka.py +46 -16
  54. cribl_control_plane/models/inputkinesis.py +38 -14
  55. cribl_control_plane/models/inputkubeevents.py +11 -4
  56. cribl_control_plane/models/inputkubelogs.py +16 -8
  57. cribl_control_plane/models/inputkubemetrics.py +16 -8
  58. cribl_control_plane/models/inputloki.py +29 -10
  59. cribl_control_plane/models/inputmetrics.py +23 -8
  60. cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
  61. cribl_control_plane/models/inputmsk.py +53 -18
  62. cribl_control_plane/models/inputnetflow.py +11 -4
  63. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  64. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  65. cribl_control_plane/models/inputoffice365service.py +35 -16
  66. cribl_control_plane/models/inputopentelemetry.py +38 -16
  67. cribl_control_plane/models/inputprometheus.py +50 -18
  68. cribl_control_plane/models/inputprometheusrw.py +30 -10
  69. cribl_control_plane/models/inputrawudp.py +11 -4
  70. cribl_control_plane/models/inputs3.py +21 -8
  71. cribl_control_plane/models/inputs3inventory.py +26 -10
  72. cribl_control_plane/models/inputsecuritylake.py +27 -10
  73. cribl_control_plane/models/inputsnmp.py +16 -6
  74. cribl_control_plane/models/inputsplunk.py +33 -12
  75. cribl_control_plane/models/inputsplunkhec.py +29 -10
  76. cribl_control_plane/models/inputsplunksearch.py +33 -14
  77. cribl_control_plane/models/inputsqs.py +27 -10
  78. cribl_control_plane/models/inputsyslog.py +43 -16
  79. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  80. cribl_control_plane/models/inputsystemstate.py +16 -8
  81. cribl_control_plane/models/inputtcp.py +29 -10
  82. cribl_control_plane/models/inputtcpjson.py +29 -10
  83. cribl_control_plane/models/inputwef.py +37 -14
  84. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  85. cribl_control_plane/models/inputwineventlogs.py +20 -10
  86. cribl_control_plane/models/inputwiz.py +21 -8
  87. cribl_control_plane/models/inputwizwebhook.py +23 -8
  88. cribl_control_plane/models/inputzscalerhec.py +29 -10
  89. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  90. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  91. cribl_control_plane/models/masterworkerentry.py +7 -2
  92. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  93. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeupgradestate.py +2 -1
  96. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  97. cribl_control_plane/models/outputazureblob.py +48 -18
  98. cribl_control_plane/models/outputazuredataexplorer.py +74 -29
  99. cribl_control_plane/models/outputazureeventhub.py +40 -18
  100. cribl_control_plane/models/outputazurelogs.py +36 -13
  101. cribl_control_plane/models/outputclickhouse.py +56 -21
  102. cribl_control_plane/models/outputcloudwatch.py +29 -10
  103. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  104. cribl_control_plane/models/outputcriblhttp.py +46 -18
  105. cribl_control_plane/models/outputcribllake.py +46 -16
  106. cribl_control_plane/models/outputcribltcp.py +45 -18
  107. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
  108. cribl_control_plane/models/outputdatadog.py +48 -20
  109. cribl_control_plane/models/outputdataset.py +46 -18
  110. cribl_control_plane/models/outputdiskspool.py +7 -2
  111. cribl_control_plane/models/outputdls3.py +68 -24
  112. cribl_control_plane/models/outputdynatracehttp.py +54 -21
  113. cribl_control_plane/models/outputdynatraceotlp.py +56 -23
  114. cribl_control_plane/models/outputelastic.py +44 -19
  115. cribl_control_plane/models/outputelasticcloud.py +37 -13
  116. cribl_control_plane/models/outputexabeam.py +29 -10
  117. cribl_control_plane/models/outputfilesystem.py +39 -14
  118. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  119. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  120. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  121. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  122. cribl_control_plane/models/outputgrafanacloud.py +99 -34
  123. cribl_control_plane/models/outputgraphite.py +31 -14
  124. cribl_control_plane/models/outputhoneycomb.py +36 -13
  125. cribl_control_plane/models/outputhumiohec.py +44 -17
  126. cribl_control_plane/models/outputinfluxdb.py +43 -17
  127. cribl_control_plane/models/outputkafka.py +74 -28
  128. cribl_control_plane/models/outputkinesis.py +40 -16
  129. cribl_control_plane/models/outputloki.py +41 -16
  130. cribl_control_plane/models/outputminio.py +65 -24
  131. cribl_control_plane/models/outputmsk.py +82 -30
  132. cribl_control_plane/models/outputnewrelic.py +43 -18
  133. cribl_control_plane/models/outputnewrelicevents.py +42 -15
  134. cribl_control_plane/models/outputopentelemetry.py +68 -27
  135. cribl_control_plane/models/outputprometheus.py +36 -13
  136. cribl_control_plane/models/outputring.py +19 -8
  137. cribl_control_plane/models/outputs3.py +68 -26
  138. cribl_control_plane/models/outputsecuritylake.py +52 -18
  139. cribl_control_plane/models/outputsentinel.py +45 -18
  140. cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
  141. cribl_control_plane/models/outputservicenow.py +61 -25
  142. cribl_control_plane/models/outputsignalfx.py +38 -15
  143. cribl_control_plane/models/outputsns.py +36 -14
  144. cribl_control_plane/models/outputsplunk.py +60 -24
  145. cribl_control_plane/models/outputsplunkhec.py +36 -13
  146. cribl_control_plane/models/outputsplunklb.py +77 -30
  147. cribl_control_plane/models/outputsqs.py +41 -16
  148. cribl_control_plane/models/outputstatsd.py +30 -14
  149. cribl_control_plane/models/outputstatsdext.py +29 -12
  150. cribl_control_plane/models/outputsumologic.py +35 -12
  151. cribl_control_plane/models/outputsyslog.py +58 -24
  152. cribl_control_plane/models/outputtcpjson.py +52 -20
  153. cribl_control_plane/models/outputwavefront.py +36 -13
  154. cribl_control_plane/models/outputwebhook.py +58 -22
  155. cribl_control_plane/models/outputxsiam.py +36 -15
  156. cribl_control_plane/models/productscore.py +2 -1
  157. cribl_control_plane/models/rbacresource.py +2 -1
  158. cribl_control_plane/models/resourcepolicy.py +4 -2
  159. cribl_control_plane/models/runnablejobcollection.py +30 -13
  160. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  161. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  162. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  163. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  164. cribl_control_plane/models/workertypes.py +2 -1
  165. cribl_control_plane/nodes.py +5 -3
  166. cribl_control_plane/sdk.py +15 -2
  167. cribl_control_plane/sources.py +5 -3
  168. cribl_control_plane/utils/__init__.py +15 -3
  169. cribl_control_plane/utils/eventstreaming.py +10 -0
  170. cribl_control_plane/versions.py +11 -6
  171. {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.44a2.dist-info/RECORD +325 -0
  173. cribl_control_plane-0.0.44a1.dist-info/RECORD +0 -325
  174. {cribl_control_plane-0.0.44a1.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 InputPrometheusRwConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputPrometheusRwMode(str, Enum):
29
+ class InputPrometheusRwMode(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 InputPrometheusRwCompression(str, Enum):
36
+ class InputPrometheusRwCompression(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 InputPrometheusRwPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputPrometheusRwPq(BaseModel):
67
- mode: Optional[InputPrometheusRwMode] = InputPrometheusRwMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputPrometheusRwMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputPrometheusRwMode.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,10 @@ class InputPrometheusRwPq(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[InputPrometheusRwCompression] = InputPrometheusRwCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputPrometheusRwCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputPrometheusRwCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  pq_controls: Annotated[
@@ -96,14 +104,14 @@ class InputPrometheusRwPq(BaseModel):
96
104
  ] = None
97
105
 
98
106
 
99
- class InputPrometheusRwMinimumTLSVersion(str, Enum):
107
+ class InputPrometheusRwMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
108
  TL_SV1 = "TLSv1"
101
109
  TL_SV1_1 = "TLSv1.1"
102
110
  TL_SV1_2 = "TLSv1.2"
103
111
  TL_SV1_3 = "TLSv1.3"
104
112
 
105
113
 
106
- class InputPrometheusRwMaximumTLSVersion(str, Enum):
114
+ class InputPrometheusRwMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
115
  TL_SV1 = "TLSv1"
108
116
  TL_SV1_1 = "TLSv1.1"
109
117
  TL_SV1_2 = "TLSv1.2"
@@ -162,15 +170,23 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
162
170
  ] = None
163
171
 
164
172
  min_version: Annotated[
165
- Optional[InputPrometheusRwMinimumTLSVersion], pydantic.Field(alias="minVersion")
173
+ Annotated[
174
+ Optional[InputPrometheusRwMinimumTLSVersion],
175
+ PlainValidator(validate_open_enum(False)),
176
+ ],
177
+ pydantic.Field(alias="minVersion"),
166
178
  ] = None
167
179
 
168
180
  max_version: Annotated[
169
- Optional[InputPrometheusRwMaximumTLSVersion], pydantic.Field(alias="maxVersion")
181
+ Annotated[
182
+ Optional[InputPrometheusRwMaximumTLSVersion],
183
+ PlainValidator(validate_open_enum(False)),
184
+ ],
185
+ pydantic.Field(alias="maxVersion"),
170
186
  ] = None
171
187
 
172
188
 
173
- class InputPrometheusRwAuthenticationType(str, Enum):
189
+ class InputPrometheusRwAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
174
190
  r"""Remote Write authentication type"""
175
191
 
176
192
  NONE = "none"
@@ -401,7 +417,11 @@ class InputPrometheusRw(BaseModel):
401
417
  r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://<your‑upstream‑URL>:<your‑port>/write."""
402
418
 
403
419
  auth_type: Annotated[
404
- Optional[InputPrometheusRwAuthenticationType], pydantic.Field(alias="authType")
420
+ Annotated[
421
+ Optional[InputPrometheusRwAuthenticationType],
422
+ PlainValidator(validate_open_enum(False)),
423
+ ],
424
+ pydantic.Field(alias="authType"),
405
425
  ] = InputPrometheusRwAuthenticationType.NONE
406
426
  r"""Remote Write authentication type"""
407
427
 
@@ -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
 
@@ -23,14 +26,14 @@ class InputRawUDPConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputRawUDPMode(str, Enum):
29
+ class InputRawUDPMode(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 InputRawUDPCompression(str, Enum):
36
+ class InputRawUDPCompression(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 InputRawUDPPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputRawUDPPq(BaseModel):
67
- mode: Optional[InputRawUDPMode] = InputRawUDPMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputRawUDPMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputRawUDPMode.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 InputRawUDPPq(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[InputRawUDPCompression] = InputRawUDPCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputRawUDPCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputRawUDPCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -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
 
@@ -23,14 +26,14 @@ class InputS3Connection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputS3Mode(str, Enum):
29
+ class InputS3Mode(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 InputS3Compression(str, Enum):
36
+ class InputS3Compression(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 InputS3PqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputS3Pq(BaseModel):
67
- mode: Optional[InputS3Mode] = InputS3Mode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputS3Mode], PlainValidator(validate_open_enum(False))
72
+ ] = InputS3Mode.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 InputS3Pq(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[InputS3Compression] = InputS3Compression.NONE
96
+ compress: Annotated[
97
+ Optional[InputS3Compression], PlainValidator(validate_open_enum(False))
98
+ ] = InputS3Compression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputS3Pq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputS3AuthenticationMethod(str, Enum):
106
+ class InputS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""AWS authentication method. Choose Auto to use IAM roles."""
101
108
 
102
109
  AUTO = "auto"
@@ -104,7 +111,7 @@ class InputS3AuthenticationMethod(str, Enum):
104
111
  SECRET = "secret"
105
112
 
106
113
 
107
- class InputS3SignatureVersion(str, Enum):
114
+ class InputS3SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
108
115
  r"""Signature version to use for signing S3 requests"""
109
116
 
110
117
  V2 = "v2"
@@ -286,7 +293,10 @@ class InputS3(BaseModel):
286
293
  r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account."""
287
294
 
288
295
  aws_authentication_method: Annotated[
289
- Optional[InputS3AuthenticationMethod],
296
+ Annotated[
297
+ Optional[InputS3AuthenticationMethod],
298
+ PlainValidator(validate_open_enum(False)),
299
+ ],
290
300
  pydantic.Field(alias="awsAuthenticationMethod"),
291
301
  ] = InputS3AuthenticationMethod.AUTO
292
302
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -302,7 +312,10 @@ class InputS3(BaseModel):
302
312
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
303
313
 
304
314
  signature_version: Annotated[
305
- Optional[InputS3SignatureVersion], pydantic.Field(alias="signatureVersion")
315
+ Annotated[
316
+ Optional[InputS3SignatureVersion], PlainValidator(validate_open_enum(False))
317
+ ],
318
+ pydantic.Field(alias="signatureVersion"),
306
319
  ] = InputS3SignatureVersion.V4
307
320
  r"""Signature version to use for signing S3 requests"""
308
321
 
@@ -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
 
@@ -23,14 +26,14 @@ class InputS3InventoryConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputS3InventoryMode(str, Enum):
29
+ class InputS3InventoryMode(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 InputS3InventoryCompression(str, Enum):
36
+ class InputS3InventoryCompression(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 InputS3InventoryPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputS3InventoryPq(BaseModel):
67
- mode: Optional[InputS3InventoryMode] = InputS3InventoryMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputS3InventoryMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputS3InventoryMode.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 InputS3InventoryPq(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[InputS3InventoryCompression] = InputS3InventoryCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputS3InventoryCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputS3InventoryCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputS3InventoryPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputS3InventoryAuthenticationMethod(str, Enum):
106
+ class InputS3InventoryAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""AWS authentication method. Choose Auto to use IAM roles."""
101
108
 
102
109
  AUTO = "auto"
@@ -104,7 +111,7 @@ class InputS3InventoryAuthenticationMethod(str, Enum):
104
111
  SECRET = "secret"
105
112
 
106
113
 
107
- class InputS3InventorySignatureVersion(str, Enum):
114
+ class InputS3InventorySignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
108
115
  r"""Signature version to use for signing S3 requests"""
109
116
 
110
117
  V2 = "v2"
@@ -157,7 +164,7 @@ class InputS3InventoryCheckpointing(BaseModel):
157
164
  r"""The number of times to retry processing when a processing error occurs. If Skip file on error is enabled, this setting is ignored."""
158
165
 
159
166
 
160
- class InputS3InventoryTagAfterProcessing(str, Enum):
167
+ class InputS3InventoryTagAfterProcessing(str, Enum, metaclass=utils.OpenEnumMeta):
161
168
  FALSE = "false"
162
169
  TRUE = "true"
163
170
 
@@ -294,7 +301,10 @@ class InputS3Inventory(BaseModel):
294
301
  r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account."""
295
302
 
296
303
  aws_authentication_method: Annotated[
297
- Optional[InputS3InventoryAuthenticationMethod],
304
+ Annotated[
305
+ Optional[InputS3InventoryAuthenticationMethod],
306
+ PlainValidator(validate_open_enum(False)),
307
+ ],
298
308
  pydantic.Field(alias="awsAuthenticationMethod"),
299
309
  ] = InputS3InventoryAuthenticationMethod.AUTO
300
310
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -310,7 +320,10 @@ class InputS3Inventory(BaseModel):
310
320
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
311
321
 
312
322
  signature_version: Annotated[
313
- Optional[InputS3InventorySignatureVersion],
323
+ Annotated[
324
+ Optional[InputS3InventorySignatureVersion],
325
+ PlainValidator(validate_open_enum(False)),
326
+ ],
314
327
  pydantic.Field(alias="signatureVersion"),
315
328
  ] = InputS3InventorySignatureVersion.V4
316
329
  r"""Signature version to use for signing S3 requests"""
@@ -429,7 +442,10 @@ class InputS3Inventory(BaseModel):
429
442
  r"""Select or create a stored secret that references your access key and secret key"""
430
443
 
431
444
  tag_after_processing: Annotated[
432
- Optional[InputS3InventoryTagAfterProcessing],
445
+ Annotated[
446
+ Optional[InputS3InventoryTagAfterProcessing],
447
+ PlainValidator(validate_open_enum(False)),
448
+ ],
433
449
  pydantic.Field(alias="tagAfterProcessing"),
434
450
  ] = None
435
451
 
@@ -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
 
@@ -23,14 +26,14 @@ class InputSecurityLakeConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSecurityLakeMode(str, Enum):
29
+ class InputSecurityLakeMode(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 InputSecurityLakeCompression(str, Enum):
36
+ class InputSecurityLakeCompression(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 InputSecurityLakePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSecurityLakePq(BaseModel):
67
- mode: Optional[InputSecurityLakeMode] = InputSecurityLakeMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSecurityLakeMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputSecurityLakeMode.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,10 @@ class InputSecurityLakePq(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[InputSecurityLakeCompression] = InputSecurityLakeCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputSecurityLakeCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputSecurityLakeCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  pq_controls: Annotated[
@@ -96,7 +104,7 @@ class InputSecurityLakePq(BaseModel):
96
104
  ] = None
97
105
 
98
106
 
99
- class InputSecurityLakeAuthenticationMethod(str, Enum):
107
+ class InputSecurityLakeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
108
  r"""AWS authentication method. Choose Auto to use IAM roles."""
101
109
 
102
110
  AUTO = "auto"
@@ -104,7 +112,7 @@ class InputSecurityLakeAuthenticationMethod(str, Enum):
104
112
  SECRET = "secret"
105
113
 
106
114
 
107
- class InputSecurityLakeSignatureVersion(str, Enum):
115
+ class InputSecurityLakeSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
108
116
  r"""Signature version to use for signing S3 requests"""
109
117
 
110
118
  V2 = "v2"
@@ -157,7 +165,7 @@ class InputSecurityLakeCheckpointing(BaseModel):
157
165
  r"""The number of times to retry processing when a processing error occurs. If Skip file on error is enabled, this setting is ignored."""
158
166
 
159
167
 
160
- class InputSecurityLakeTagAfterProcessing(str, Enum):
168
+ class InputSecurityLakeTagAfterProcessing(str, Enum, metaclass=utils.OpenEnumMeta):
161
169
  FALSE = "false"
162
170
  TRUE = "true"
163
171
 
@@ -290,7 +298,10 @@ class InputSecurityLake(BaseModel):
290
298
  r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account."""
291
299
 
292
300
  aws_authentication_method: Annotated[
293
- Optional[InputSecurityLakeAuthenticationMethod],
301
+ Annotated[
302
+ Optional[InputSecurityLakeAuthenticationMethod],
303
+ PlainValidator(validate_open_enum(False)),
304
+ ],
294
305
  pydantic.Field(alias="awsAuthenticationMethod"),
295
306
  ] = InputSecurityLakeAuthenticationMethod.AUTO
296
307
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -306,7 +317,10 @@ class InputSecurityLake(BaseModel):
306
317
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
307
318
 
308
319
  signature_version: Annotated[
309
- Optional[InputSecurityLakeSignatureVersion],
320
+ Annotated[
321
+ Optional[InputSecurityLakeSignatureVersion],
322
+ PlainValidator(validate_open_enum(False)),
323
+ ],
310
324
  pydantic.Field(alias="signatureVersion"),
311
325
  ] = InputSecurityLakeSignatureVersion.V4
312
326
  r"""Signature version to use for signing S3 requests"""
@@ -413,7 +427,10 @@ class InputSecurityLake(BaseModel):
413
427
  r"""Select or create a stored secret that references your access key and secret key"""
414
428
 
415
429
  tag_after_processing: Annotated[
416
- Optional[InputSecurityLakeTagAfterProcessing],
430
+ Annotated[
431
+ Optional[InputSecurityLakeTagAfterProcessing],
432
+ PlainValidator(validate_open_enum(False)),
433
+ ],
417
434
  pydantic.Field(alias="tagAfterProcessing"),
418
435
  ] = None
419
436
 
@@ -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 InputSnmpConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputSnmpMode(str, Enum):
29
+ class InputSnmpMode(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 InputSnmpCompression(str, Enum):
36
+ class InputSnmpCompression(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 InputSnmpPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputSnmpPq(BaseModel):
67
- mode: Optional[InputSnmpMode] = InputSnmpMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputSnmpMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputSnmpMode.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 InputSnmpPq(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[InputSnmpCompression] = InputSnmpCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputSnmpCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputSnmpCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputSnmpPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class AuthenticationProtocol(str, Enum):
106
+ class AuthenticationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  NONE = "none"
101
108
  MD5 = "md5"
102
109
  SHA = "sha"
@@ -117,7 +124,10 @@ class V3User(BaseModel):
117
124
  name: str
118
125
 
119
126
  auth_protocol: Annotated[
120
- Optional[AuthenticationProtocol], pydantic.Field(alias="authProtocol")
127
+ Annotated[
128
+ Optional[AuthenticationProtocol], PlainValidator(validate_open_enum(False))
129
+ ],
130
+ pydantic.Field(alias="authProtocol"),
121
131
  ] = AuthenticationProtocol.NONE
122
132
 
123
133
  auth_key: Annotated[Optional[Any], pydantic.Field(alias="authKey")] = None