cribl-control-plane 0.0.49__py3-none-any.whl → 0.1.0b1__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 (173) hide show
  1. cribl_control_plane/_version.py +4 -6
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/health.py +6 -2
  4. cribl_control_plane/models/__init__.py +68 -30
  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/createinputhectokenbyidop.py +6 -5
  12. cribl_control_plane/models/createversionpushop.py +5 -5
  13. cribl_control_plane/models/cribllakedataset.py +8 -2
  14. cribl_control_plane/models/datasetmetadata.py +8 -2
  15. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  16. cribl_control_plane/models/error.py +16 -0
  17. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  18. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  20. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  21. cribl_control_plane/models/gethealthinfoop.py +17 -0
  22. cribl_control_plane/models/getsummaryop.py +7 -2
  23. cribl_control_plane/models/getversionshowop.py +6 -5
  24. cribl_control_plane/models/gitshowresult.py +19 -0
  25. cribl_control_plane/models/hbcriblinfo.py +24 -3
  26. cribl_control_plane/models/healthstatus.py +7 -4
  27. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  28. cribl_control_plane/models/inputappscope.py +34 -14
  29. cribl_control_plane/models/inputazureblob.py +17 -6
  30. cribl_control_plane/models/inputcollection.py +11 -4
  31. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  32. cribl_control_plane/models/inputcribl.py +11 -4
  33. cribl_control_plane/models/inputcriblhttp.py +23 -8
  34. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  35. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  36. cribl_control_plane/models/inputcribltcp.py +23 -8
  37. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  38. cribl_control_plane/models/inputdatadogagent.py +24 -8
  39. cribl_control_plane/models/inputdatagen.py +11 -4
  40. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  41. cribl_control_plane/models/inputelastic.py +40 -14
  42. cribl_control_plane/models/inputeventhub.py +15 -6
  43. cribl_control_plane/models/inputexec.py +14 -6
  44. cribl_control_plane/models/inputfile.py +15 -6
  45. cribl_control_plane/models/inputfirehose.py +23 -8
  46. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  47. cribl_control_plane/models/inputgrafana.py +67 -24
  48. cribl_control_plane/models/inputhttp.py +23 -8
  49. cribl_control_plane/models/inputhttpraw.py +23 -8
  50. cribl_control_plane/models/inputjournalfiles.py +12 -4
  51. cribl_control_plane/models/inputkafka.py +41 -28
  52. cribl_control_plane/models/inputkinesis.py +38 -14
  53. cribl_control_plane/models/inputkubeevents.py +11 -4
  54. cribl_control_plane/models/inputkubelogs.py +16 -8
  55. cribl_control_plane/models/inputkubemetrics.py +16 -8
  56. cribl_control_plane/models/inputloki.py +29 -10
  57. cribl_control_plane/models/inputmetrics.py +23 -8
  58. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  59. cribl_control_plane/models/inputmsk.py +48 -30
  60. cribl_control_plane/models/inputnetflow.py +11 -4
  61. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  62. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  63. cribl_control_plane/models/inputoffice365service.py +35 -16
  64. cribl_control_plane/models/inputopentelemetry.py +38 -16
  65. cribl_control_plane/models/inputprometheus.py +50 -18
  66. cribl_control_plane/models/inputprometheusrw.py +30 -10
  67. cribl_control_plane/models/inputrawudp.py +11 -4
  68. cribl_control_plane/models/inputs3.py +21 -8
  69. cribl_control_plane/models/inputs3inventory.py +26 -10
  70. cribl_control_plane/models/inputsecuritylake.py +27 -10
  71. cribl_control_plane/models/inputsnmp.py +16 -6
  72. cribl_control_plane/models/inputsplunk.py +33 -12
  73. cribl_control_plane/models/inputsplunkhec.py +29 -10
  74. cribl_control_plane/models/inputsplunksearch.py +33 -14
  75. cribl_control_plane/models/inputsqs.py +27 -10
  76. cribl_control_plane/models/inputsyslog.py +43 -16
  77. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  78. cribl_control_plane/models/inputsystemstate.py +16 -8
  79. cribl_control_plane/models/inputtcp.py +29 -10
  80. cribl_control_plane/models/inputtcpjson.py +29 -10
  81. cribl_control_plane/models/inputwef.py +37 -14
  82. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  83. cribl_control_plane/models/inputwineventlogs.py +20 -10
  84. cribl_control_plane/models/inputwiz.py +21 -8
  85. cribl_control_plane/models/inputwizwebhook.py +23 -8
  86. cribl_control_plane/models/inputzscalerhec.py +29 -10
  87. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  88. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  89. cribl_control_plane/models/masterworkerentry.py +7 -2
  90. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  91. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  92. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  93. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodeupgradestate.py +2 -1
  95. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  96. cribl_control_plane/models/output.py +3 -0
  97. cribl_control_plane/models/outputazureblob.py +48 -18
  98. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  99. cribl_control_plane/models/outputazureeventhub.py +40 -18
  100. cribl_control_plane/models/outputazurelogs.py +35 -12
  101. cribl_control_plane/models/outputclickhouse.py +55 -20
  102. cribl_control_plane/models/outputcloudwatch.py +29 -10
  103. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  104. cribl_control_plane/models/outputcriblhttp.py +44 -16
  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 +49 -14
  108. cribl_control_plane/models/outputdatabricks.py +439 -0
  109. cribl_control_plane/models/outputdatadog.py +48 -20
  110. cribl_control_plane/models/outputdataset.py +46 -18
  111. cribl_control_plane/models/outputdiskspool.py +7 -2
  112. cribl_control_plane/models/outputdls3.py +68 -24
  113. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  114. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  115. cribl_control_plane/models/outputelastic.py +43 -18
  116. cribl_control_plane/models/outputelasticcloud.py +36 -12
  117. cribl_control_plane/models/outputexabeam.py +29 -10
  118. cribl_control_plane/models/outputfilesystem.py +39 -14
  119. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  120. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  121. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  122. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  123. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  124. cribl_control_plane/models/outputgraphite.py +31 -14
  125. cribl_control_plane/models/outputhoneycomb.py +35 -12
  126. cribl_control_plane/models/outputhumiohec.py +43 -16
  127. cribl_control_plane/models/outputinfluxdb.py +42 -16
  128. cribl_control_plane/models/outputkafka.py +69 -40
  129. cribl_control_plane/models/outputkinesis.py +40 -16
  130. cribl_control_plane/models/outputloki.py +41 -16
  131. cribl_control_plane/models/outputminio.py +65 -24
  132. cribl_control_plane/models/outputmsk.py +77 -42
  133. cribl_control_plane/models/outputnewrelic.py +43 -18
  134. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  135. cribl_control_plane/models/outputopentelemetry.py +67 -26
  136. cribl_control_plane/models/outputprometheus.py +35 -12
  137. cribl_control_plane/models/outputring.py +19 -8
  138. cribl_control_plane/models/outputs3.py +68 -26
  139. cribl_control_plane/models/outputsecuritylake.py +52 -18
  140. cribl_control_plane/models/outputsentinel.py +45 -18
  141. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  142. cribl_control_plane/models/outputservicenow.py +60 -24
  143. cribl_control_plane/models/outputsignalfx.py +37 -14
  144. cribl_control_plane/models/outputsns.py +36 -14
  145. cribl_control_plane/models/outputsplunk.py +60 -24
  146. cribl_control_plane/models/outputsplunkhec.py +35 -12
  147. cribl_control_plane/models/outputsplunklb.py +77 -30
  148. cribl_control_plane/models/outputsqs.py +41 -16
  149. cribl_control_plane/models/outputstatsd.py +30 -14
  150. cribl_control_plane/models/outputstatsdext.py +29 -12
  151. cribl_control_plane/models/outputsumologic.py +35 -12
  152. cribl_control_plane/models/outputsyslog.py +58 -24
  153. cribl_control_plane/models/outputtcpjson.py +52 -20
  154. cribl_control_plane/models/outputwavefront.py +35 -12
  155. cribl_control_plane/models/outputwebhook.py +58 -22
  156. cribl_control_plane/models/outputxsiam.py +35 -14
  157. cribl_control_plane/models/productscore.py +2 -1
  158. cribl_control_plane/models/rbacresource.py +2 -1
  159. cribl_control_plane/models/resourcepolicy.py +4 -2
  160. cribl_control_plane/models/routeconf.py +3 -4
  161. cribl_control_plane/models/runnablejobcollection.py +30 -13
  162. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  163. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  164. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  165. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  166. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  167. cribl_control_plane/models/workertypes.py +2 -1
  168. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.dist-info}/METADATA +1 -1
  169. cribl_control_plane-0.1.0b1.dist-info/RECORD +327 -0
  170. cribl_control_plane/models/appmode.py +0 -13
  171. cribl_control_plane/models/routecloneconf.py +0 -13
  172. cribl_control_plane-0.0.49.dist-info/RECORD +0 -325
  173. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.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 InputHTTPConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputHTTPMode(str, Enum):
29
+ class InputHTTPMode(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 InputHTTPCompression(str, Enum):
36
+ class InputHTTPCompression(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 InputHTTPPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputHTTPPq(BaseModel):
67
- mode: Optional[InputHTTPMode] = InputHTTPMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputHTTPMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputHTTPMode.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 InputHTTPPq(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[InputHTTPCompression] = InputHTTPCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputHTTPCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputHTTPCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputHTTPPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputHTTPMinimumTLSVersion(str, Enum):
106
+ class InputHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputHTTPMaximumTLSVersion(str, Enum):
113
+ class InputHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,11 +169,19 @@ class InputHTTPTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputHTTPMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputHTTPMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputHTTPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputHTTPMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -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 InputHTTPRawConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputHTTPRawMode(str, Enum):
29
+ class InputHTTPRawMode(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 InputHTTPRawCompression(str, Enum):
36
+ class InputHTTPRawCompression(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 InputHTTPRawPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputHTTPRawPq(BaseModel):
67
- mode: Optional[InputHTTPRawMode] = InputHTTPRawMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputHTTPRawMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputHTTPRawMode.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 InputHTTPRawPq(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[InputHTTPRawCompression] = InputHTTPRawCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputHTTPRawCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputHTTPRawCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputHTTPRawPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputHTTPRawMinimumTLSVersion(str, Enum):
106
+ class InputHTTPRawMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  TL_SV1 = "TLSv1"
101
108
  TL_SV1_1 = "TLSv1.1"
102
109
  TL_SV1_2 = "TLSv1.2"
103
110
  TL_SV1_3 = "TLSv1.3"
104
111
 
105
112
 
106
- class InputHTTPRawMaximumTLSVersion(str, Enum):
113
+ class InputHTTPRawMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  TL_SV1 = "TLSv1"
108
115
  TL_SV1_1 = "TLSv1.1"
109
116
  TL_SV1_2 = "TLSv1.2"
@@ -162,11 +169,19 @@ class InputHTTPRawTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputHTTPRawMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputHTTPRawMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputHTTPRawMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputHTTPRawMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
@@ -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 InputJournalFilesConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputJournalFilesMode(str, Enum):
29
+ class InputJournalFilesMode(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 InputJournalFilesCompression(str, Enum):
36
+ class InputJournalFilesCompression(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 InputJournalFilesPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputJournalFilesPq(BaseModel):
67
- mode: Optional[InputJournalFilesMode] = InputJournalFilesMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputJournalFilesMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputJournalFilesMode.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 InputJournalFilesPq(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[InputJournalFilesCompression] = InputJournalFilesCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputJournalFilesCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputJournalFilesCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  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 InputKafkaConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKafkaMode(str, Enum):
29
+ class InputKafkaMode(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 InputKafkaCompression(str, Enum):
36
+ class InputKafkaCompression(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 InputKafkaPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKafkaPq(BaseModel):
67
- mode: Optional[InputKafkaMode] = InputKafkaMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKafkaMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKafkaMode.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 InputKafkaPq(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[InputKafkaCompression] = InputKafkaCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKafkaCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKafkaCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,13 +103,6 @@ class InputKafkaPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputKafkaSchemaType(str, Enum):
100
- r"""The schema format used to encode and decode event data"""
101
-
102
- AVRO = "avro"
103
- JSON = "json"
104
-
105
-
106
106
  class InputKafkaAuthTypedDict(TypedDict):
107
107
  r"""Credentials to use when authenticating with the schema registry using basic HTTP authentication"""
108
108
 
@@ -122,14 +122,18 @@ class InputKafkaAuth(BaseModel):
122
122
  r"""Select or create a secret that references your credentials"""
123
123
 
124
124
 
125
- class InputKafkaKafkaSchemaRegistryMinimumTLSVersion(str, Enum):
125
+ class InputKafkaKafkaSchemaRegistryMinimumTLSVersion(
126
+ str, Enum, metaclass=utils.OpenEnumMeta
127
+ ):
126
128
  TL_SV1 = "TLSv1"
127
129
  TL_SV1_1 = "TLSv1.1"
128
130
  TL_SV1_2 = "TLSv1.2"
129
131
  TL_SV1_3 = "TLSv1.3"
130
132
 
131
133
 
132
- class InputKafkaKafkaSchemaRegistryMaximumTLSVersion(str, Enum):
134
+ class InputKafkaKafkaSchemaRegistryMaximumTLSVersion(
135
+ str, Enum, metaclass=utils.OpenEnumMeta
136
+ ):
133
137
  TL_SV1 = "TLSv1"
134
138
  TL_SV1_1 = "TLSv1.1"
135
139
  TL_SV1_2 = "TLSv1.2"
@@ -189,12 +193,18 @@ class InputKafkaKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
189
193
  r"""Passphrase to use to decrypt private key"""
190
194
 
191
195
  min_version: Annotated[
192
- Optional[InputKafkaKafkaSchemaRegistryMinimumTLSVersion],
196
+ Annotated[
197
+ Optional[InputKafkaKafkaSchemaRegistryMinimumTLSVersion],
198
+ PlainValidator(validate_open_enum(False)),
199
+ ],
193
200
  pydantic.Field(alias="minVersion"),
194
201
  ] = None
195
202
 
196
203
  max_version: Annotated[
197
- Optional[InputKafkaKafkaSchemaRegistryMaximumTLSVersion],
204
+ Annotated[
205
+ Optional[InputKafkaKafkaSchemaRegistryMaximumTLSVersion],
206
+ PlainValidator(validate_open_enum(False)),
207
+ ],
198
208
  pydantic.Field(alias="maxVersion"),
199
209
  ] = None
200
210
 
@@ -203,8 +213,6 @@ class InputKafkaKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
203
213
  disabled: NotRequired[bool]
204
214
  schema_registry_url: NotRequired[str]
205
215
  r"""URL for accessing the Confluent Schema Registry. Example: http://localhost:8081. To connect over TLS, use https instead of http."""
206
- schema_type: NotRequired[InputKafkaSchemaType]
207
- r"""The schema format used to encode and decode event data"""
208
216
  connection_timeout: NotRequired[float]
209
217
  r"""Maximum time to wait for a Schema Registry connection to complete successfully"""
210
218
  request_timeout: NotRequired[float]
@@ -224,11 +232,6 @@ class InputKafkaKafkaSchemaRegistryAuthentication(BaseModel):
224
232
  ] = "http://localhost:8081"
225
233
  r"""URL for accessing the Confluent Schema Registry. Example: http://localhost:8081. To connect over TLS, use https instead of http."""
226
234
 
227
- schema_type: Annotated[
228
- Optional[InputKafkaSchemaType], pydantic.Field(alias="schemaType")
229
- ] = InputKafkaSchemaType.AVRO
230
- r"""The schema format used to encode and decode event data"""
231
-
232
235
  connection_timeout: Annotated[
233
236
  Optional[float], pydantic.Field(alias="connectionTimeout")
234
237
  ] = 30000
@@ -248,7 +251,7 @@ class InputKafkaKafkaSchemaRegistryAuthentication(BaseModel):
248
251
  tls: Optional[InputKafkaKafkaSchemaRegistryTLSSettingsClientSide] = None
249
252
 
250
253
 
251
- class InputKafkaSASLMechanism(str, Enum):
254
+ class InputKafkaSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
252
255
  PLAIN = "plain"
253
256
  SCRAM_SHA_256 = "scram-sha-256"
254
257
  SCRAM_SHA_512 = "scram-sha-512"
@@ -269,7 +272,9 @@ class InputKafkaAuthentication(BaseModel):
269
272
 
270
273
  disabled: Optional[bool] = True
271
274
 
272
- mechanism: Optional[InputKafkaSASLMechanism] = InputKafkaSASLMechanism.PLAIN
275
+ mechanism: Annotated[
276
+ Optional[InputKafkaSASLMechanism], PlainValidator(validate_open_enum(False))
277
+ ] = InputKafkaSASLMechanism.PLAIN
273
278
 
274
279
  oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
275
280
  False
@@ -277,14 +282,14 @@ class InputKafkaAuthentication(BaseModel):
277
282
  r"""Enable OAuth authentication"""
278
283
 
279
284
 
280
- class InputKafkaMinimumTLSVersion(str, Enum):
285
+ class InputKafkaMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
281
286
  TL_SV1 = "TLSv1"
282
287
  TL_SV1_1 = "TLSv1.1"
283
288
  TL_SV1_2 = "TLSv1.2"
284
289
  TL_SV1_3 = "TLSv1.3"
285
290
 
286
291
 
287
- class InputKafkaMaximumTLSVersion(str, Enum):
292
+ class InputKafkaMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
288
293
  TL_SV1 = "TLSv1"
289
294
  TL_SV1_1 = "TLSv1.1"
290
295
  TL_SV1_2 = "TLSv1.2"
@@ -344,11 +349,19 @@ class InputKafkaTLSSettingsClientSide(BaseModel):
344
349
  r"""Passphrase to use to decrypt private key"""
345
350
 
346
351
  min_version: Annotated[
347
- Optional[InputKafkaMinimumTLSVersion], pydantic.Field(alias="minVersion")
352
+ Annotated[
353
+ Optional[InputKafkaMinimumTLSVersion],
354
+ PlainValidator(validate_open_enum(False)),
355
+ ],
356
+ pydantic.Field(alias="minVersion"),
348
357
  ] = None
349
358
 
350
359
  max_version: Annotated[
351
- Optional[InputKafkaMaximumTLSVersion], pydantic.Field(alias="maxVersion")
360
+ Annotated[
361
+ Optional[InputKafkaMaximumTLSVersion],
362
+ PlainValidator(validate_open_enum(False)),
363
+ ],
364
+ pydantic.Field(alias="maxVersion"),
352
365
  ] = None
353
366
 
354
367
 
@@ -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 InputKinesisConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKinesisMode(str, Enum):
29
+ class InputKinesisMode(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 InputKinesisCompression(str, Enum):
36
+ class InputKinesisCompression(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 InputKinesisPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKinesisPq(BaseModel):
67
- mode: Optional[InputKinesisMode] = InputKinesisMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKinesisMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKinesisMode.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 InputKinesisPq(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[InputKinesisCompression] = InputKinesisCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKinesisCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKinesisCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputKinesisPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class ShardIteratorStart(str, Enum):
106
+ class ShardIteratorStart(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Location at which to start reading a shard for the first time"""
101
108
 
102
109
  TRIM_HORIZON = "TRIM_HORIZON"
103
110
  LATEST = "LATEST"
104
111
 
105
112
 
106
- class InputKinesisRecordDataFormat(str, Enum):
113
+ class InputKinesisRecordDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
107
114
  r"""Format of data inside the Kinesis Stream records. Gzip compression is automatically detected."""
108
115
 
109
116
  CRIBL = "cribl"
@@ -112,14 +119,14 @@ class InputKinesisRecordDataFormat(str, Enum):
112
119
  LINE = "line"
113
120
 
114
121
 
115
- class ShardLoadBalancing(str, Enum):
122
+ class ShardLoadBalancing(str, Enum, metaclass=utils.OpenEnumMeta):
116
123
  r"""The load-balancing algorithm to use for spreading out shards across Workers and Worker Processes"""
117
124
 
118
125
  CONSISTENT_HASHING = "ConsistentHashing"
119
126
  ROUND_ROBIN = "RoundRobin"
120
127
 
121
128
 
122
- class InputKinesisAuthenticationMethod(str, Enum):
129
+ class InputKinesisAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
123
130
  r"""AWS authentication method. Choose Auto to use IAM roles."""
124
131
 
125
132
  AUTO = "auto"
@@ -127,7 +134,7 @@ class InputKinesisAuthenticationMethod(str, Enum):
127
134
  SECRET = "secret"
128
135
 
129
136
 
130
- class InputKinesisSignatureVersion(str, Enum):
137
+ class InputKinesisSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
131
138
  r"""Signature version to use for signing Kinesis stream requests"""
132
139
 
133
140
  V2 = "v2"
@@ -259,12 +266,19 @@ class InputKinesis(BaseModel):
259
266
  r"""A JavaScript expression to be called with each shardId for the stream. If the expression evaluates to a truthy value, the shard will be processed."""
260
267
 
261
268
  shard_iterator_type: Annotated[
262
- Optional[ShardIteratorStart], pydantic.Field(alias="shardIteratorType")
269
+ Annotated[
270
+ Optional[ShardIteratorStart], PlainValidator(validate_open_enum(False))
271
+ ],
272
+ pydantic.Field(alias="shardIteratorType"),
263
273
  ] = ShardIteratorStart.TRIM_HORIZON
264
274
  r"""Location at which to start reading a shard for the first time"""
265
275
 
266
276
  payload_format: Annotated[
267
- Optional[InputKinesisRecordDataFormat], pydantic.Field(alias="payloadFormat")
277
+ Annotated[
278
+ Optional[InputKinesisRecordDataFormat],
279
+ PlainValidator(validate_open_enum(False)),
280
+ ],
281
+ pydantic.Field(alias="payloadFormat"),
268
282
  ] = InputKinesisRecordDataFormat.CRIBL
269
283
  r"""Format of data inside the Kinesis Stream records. Gzip compression is automatically detected."""
270
284
 
@@ -279,12 +293,18 @@ class InputKinesis(BaseModel):
279
293
  r"""Maximum number of records, across all shards, to pull down at once per Worker Process"""
280
294
 
281
295
  load_balancing_algorithm: Annotated[
282
- Optional[ShardLoadBalancing], pydantic.Field(alias="loadBalancingAlgorithm")
296
+ Annotated[
297
+ Optional[ShardLoadBalancing], PlainValidator(validate_open_enum(False))
298
+ ],
299
+ pydantic.Field(alias="loadBalancingAlgorithm"),
283
300
  ] = ShardLoadBalancing.CONSISTENT_HASHING
284
301
  r"""The load-balancing algorithm to use for spreading out shards across Workers and Worker Processes"""
285
302
 
286
303
  aws_authentication_method: Annotated[
287
- Optional[InputKinesisAuthenticationMethod],
304
+ Annotated[
305
+ Optional[InputKinesisAuthenticationMethod],
306
+ PlainValidator(validate_open_enum(False)),
307
+ ],
288
308
  pydantic.Field(alias="awsAuthenticationMethod"),
289
309
  ] = InputKinesisAuthenticationMethod.AUTO
290
310
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -297,7 +317,11 @@ class InputKinesis(BaseModel):
297
317
  r"""Kinesis stream service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Kinesis stream-compatible endpoint."""
298
318
 
299
319
  signature_version: Annotated[
300
- Optional[InputKinesisSignatureVersion], pydantic.Field(alias="signatureVersion")
320
+ Annotated[
321
+ Optional[InputKinesisSignatureVersion],
322
+ PlainValidator(validate_open_enum(False)),
323
+ ],
324
+ pydantic.Field(alias="signatureVersion"),
301
325
  ] = InputKinesisSignatureVersion.V4
302
326
  r"""Signature version to use for signing Kinesis stream requests"""
303
327
 
@@ -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 InputKubeEventsConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputKubeEventsMode(str, Enum):
29
+ class InputKubeEventsMode(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 InputKubeEventsCompression(str, Enum):
36
+ class InputKubeEventsCompression(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 InputKubeEventsPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputKubeEventsPq(BaseModel):
67
- mode: Optional[InputKubeEventsMode] = InputKubeEventsMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputKubeEventsMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputKubeEventsMode.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 InputKubeEventsPq(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[InputKubeEventsCompression] = InputKubeEventsCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputKubeEventsCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputKubeEventsCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[