cribl-control-plane 0.0.47__py3-none-any.whl → 0.0.48a1__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 (162) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/models/__init__.py +12 -12
  4. cribl_control_plane/models/cacheconnection.py +10 -2
  5. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  6. cribl_control_plane/models/cloudprovider.py +2 -1
  7. cribl_control_plane/models/configgroup.py +7 -2
  8. cribl_control_plane/models/configgroupcloud.py +6 -2
  9. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  10. cribl_control_plane/models/cribllakedataset.py +8 -2
  11. cribl_control_plane/models/datasetmetadata.py +8 -2
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  17. cribl_control_plane/models/getsummaryop.py +7 -2
  18. cribl_control_plane/models/hbcriblinfo.py +19 -3
  19. cribl_control_plane/models/healthstatus.py +7 -4
  20. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  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 +32 -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/nodeprovidedinfo.py +3 -0
  86. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  87. cribl_control_plane/models/nodeupgradestate.py +2 -1
  88. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  89. cribl_control_plane/models/outputazureblob.py +48 -18
  90. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  91. cribl_control_plane/models/outputazureeventhub.py +40 -18
  92. cribl_control_plane/models/outputazurelogs.py +35 -12
  93. cribl_control_plane/models/outputclickhouse.py +55 -20
  94. cribl_control_plane/models/outputcloudwatch.py +29 -10
  95. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  96. cribl_control_plane/models/outputcriblhttp.py +44 -16
  97. cribl_control_plane/models/outputcribllake.py +46 -16
  98. cribl_control_plane/models/outputcribltcp.py +45 -18
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  100. cribl_control_plane/models/outputdatadog.py +48 -20
  101. cribl_control_plane/models/outputdataset.py +46 -18
  102. cribl_control_plane/models/outputdiskspool.py +7 -2
  103. cribl_control_plane/models/outputdls3.py +68 -24
  104. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  105. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  106. cribl_control_plane/models/outputelastic.py +43 -18
  107. cribl_control_plane/models/outputelasticcloud.py +36 -12
  108. cribl_control_plane/models/outputexabeam.py +29 -10
  109. cribl_control_plane/models/outputfilesystem.py +39 -14
  110. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  111. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  112. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  113. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  114. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  115. cribl_control_plane/models/outputgraphite.py +31 -14
  116. cribl_control_plane/models/outputhoneycomb.py +35 -12
  117. cribl_control_plane/models/outputhumiohec.py +43 -16
  118. cribl_control_plane/models/outputinfluxdb.py +42 -16
  119. cribl_control_plane/models/outputkafka.py +74 -28
  120. cribl_control_plane/models/outputkinesis.py +40 -16
  121. cribl_control_plane/models/outputloki.py +41 -16
  122. cribl_control_plane/models/outputminio.py +65 -24
  123. cribl_control_plane/models/outputmsk.py +82 -30
  124. cribl_control_plane/models/outputnewrelic.py +43 -18
  125. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  126. cribl_control_plane/models/outputopentelemetry.py +67 -26
  127. cribl_control_plane/models/outputprometheus.py +35 -12
  128. cribl_control_plane/models/outputring.py +19 -8
  129. cribl_control_plane/models/outputs3.py +68 -26
  130. cribl_control_plane/models/outputsecuritylake.py +52 -18
  131. cribl_control_plane/models/outputsentinel.py +45 -18
  132. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  133. cribl_control_plane/models/outputservicenow.py +60 -24
  134. cribl_control_plane/models/outputsignalfx.py +37 -14
  135. cribl_control_plane/models/outputsns.py +36 -14
  136. cribl_control_plane/models/outputsplunk.py +60 -24
  137. cribl_control_plane/models/outputsplunkhec.py +35 -12
  138. cribl_control_plane/models/outputsplunklb.py +77 -30
  139. cribl_control_plane/models/outputsqs.py +41 -16
  140. cribl_control_plane/models/outputstatsd.py +30 -14
  141. cribl_control_plane/models/outputstatsdext.py +29 -12
  142. cribl_control_plane/models/outputsumologic.py +35 -12
  143. cribl_control_plane/models/outputsyslog.py +58 -24
  144. cribl_control_plane/models/outputtcpjson.py +52 -20
  145. cribl_control_plane/models/outputwavefront.py +35 -12
  146. cribl_control_plane/models/outputwebhook.py +58 -22
  147. cribl_control_plane/models/outputxsiam.py +35 -14
  148. cribl_control_plane/models/productscore.py +2 -1
  149. cribl_control_plane/models/rbacresource.py +2 -1
  150. cribl_control_plane/models/resourcepolicy.py +4 -2
  151. cribl_control_plane/models/routeconf.py +3 -4
  152. cribl_control_plane/models/runnablejobcollection.py +30 -13
  153. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  154. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  155. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  156. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  157. cribl_control_plane/models/workertypes.py +2 -1
  158. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/METADATA +1 -1
  159. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/RECORD +160 -162
  160. {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/WHEEL +1 -1
  161. cribl_control_plane/models/appmode.py +0 -13
  162. cribl_control_plane/models/routecloneconf.py +0 -13
@@ -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 InputElasticConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputElasticMode(str, Enum):
29
+ class InputElasticMode(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 InputElasticCompression(str, Enum):
36
+ class InputElasticCompression(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 InputElasticPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputElasticPq(BaseModel):
67
- mode: Optional[InputElasticMode] = InputElasticMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputElasticMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputElasticMode.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 InputElasticPq(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[InputElasticCompression] = InputElasticCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputElasticCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputElasticCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputElasticPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputElasticMinimumTLSVersion(str, Enum):
106
+ class InputElasticMinimumTLSVersion(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 InputElasticMaximumTLSVersion(str, Enum):
113
+ class InputElasticMaximumTLSVersion(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,22 +169,30 @@ class InputElasticTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputElasticMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputElasticMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputElasticMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputElasticMaximumTLSVersion],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ],
184
+ pydantic.Field(alias="maxVersion"),
170
185
  ] = None
171
186
 
172
187
 
173
- class InputElasticAuthenticationType(str, Enum):
188
+ class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
174
189
  NONE = "none"
175
190
  BASIC = "basic"
176
191
  CREDENTIALS_SECRET = "credentialsSecret"
177
192
  AUTH_TOKENS = "authTokens"
178
193
 
179
194
 
180
- class InputElasticAPIVersion(str, Enum):
195
+ class InputElasticAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta):
181
196
  r"""The API version to use for communicating with the server"""
182
197
 
183
198
  SIX_DOT_8_DOT_4 = "6.8.4"
@@ -209,7 +224,7 @@ class InputElasticMetadatum(BaseModel):
209
224
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
210
225
 
211
226
 
212
- class InputElasticAuthenticationMethod(str, Enum):
227
+ class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
213
228
  r"""Enter credentials directly, or select a stored secret"""
214
229
 
215
230
  NONE = "none"
@@ -253,7 +268,11 @@ class InputElasticProxyMode(BaseModel):
253
268
  r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
254
269
 
255
270
  auth_type: Annotated[
256
- Optional[InputElasticAuthenticationMethod], pydantic.Field(alias="authType")
271
+ Annotated[
272
+ Optional[InputElasticAuthenticationMethod],
273
+ PlainValidator(validate_open_enum(False)),
274
+ ],
275
+ pydantic.Field(alias="authType"),
257
276
  ] = InputElasticAuthenticationMethod.NONE
258
277
  r"""Enter credentials directly, or select a stored secret"""
259
278
 
@@ -421,11 +440,18 @@ class InputElastic(BaseModel):
421
440
  r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath/<myIndexName>/_bulk. Other entries are faked as success."""
422
441
 
423
442
  auth_type: Annotated[
424
- Optional[InputElasticAuthenticationType], pydantic.Field(alias="authType")
443
+ Annotated[
444
+ Optional[InputElasticAuthenticationType],
445
+ PlainValidator(validate_open_enum(False)),
446
+ ],
447
+ pydantic.Field(alias="authType"),
425
448
  ] = InputElasticAuthenticationType.NONE
426
449
 
427
450
  api_version: Annotated[
428
- Optional[InputElasticAPIVersion], pydantic.Field(alias="apiVersion")
451
+ Annotated[
452
+ Optional[InputElasticAPIVersion], PlainValidator(validate_open_enum(False))
453
+ ],
454
+ pydantic.Field(alias="apiVersion"),
429
455
  ] = InputElasticAPIVersion.EIGHT_DOT_3_DOT_2
430
456
  r"""The API version to use for communicating with the server"""
431
457
 
@@ -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 InputEventhubConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputEventhubMode(str, Enum):
29
+ class InputEventhubMode(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 InputEventhubCompression(str, Enum):
36
+ class InputEventhubCompression(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 InputEventhubPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputEventhubPq(BaseModel):
67
- mode: Optional[InputEventhubMode] = InputEventhubMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputEventhubMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputEventhubMode.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 InputEventhubPq(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[InputEventhubCompression] = InputEventhubCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputEventhubCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputEventhubCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputEventhubPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputEventhubSASLMechanism(str, Enum):
106
+ class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  PLAIN = "plain"
101
108
  OAUTHBEARER = "oauthbearer"
102
109
 
@@ -113,7 +120,9 @@ class InputEventhubAuthentication(BaseModel):
113
120
 
114
121
  disabled: Optional[bool] = False
115
122
 
116
- mechanism: Optional[InputEventhubSASLMechanism] = InputEventhubSASLMechanism.PLAIN
123
+ mechanism: Annotated[
124
+ Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
125
+ ] = InputEventhubSASLMechanism.PLAIN
117
126
 
118
127
 
119
128
  class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
@@ -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 InputExecConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputExecMode(str, Enum):
29
+ class InputExecMode(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 InputExecCompression(str, Enum):
36
+ class InputExecCompression(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 InputExecPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputExecPq(BaseModel):
67
- mode: Optional[InputExecMode] = InputExecMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputExecMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputExecMode.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 InputExecPq(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[InputExecCompression] = InputExecCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputExecCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputExecCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputExecPq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class ScheduleType(str, Enum):
106
+ class ScheduleType(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
101
108
 
102
109
  INTERVAL = "interval"
@@ -190,7 +197,8 @@ class InputExec(BaseModel):
190
197
  r"""Maximum number of retry attempts in the event that the command fails"""
191
198
 
192
199
  schedule_type: Annotated[
193
- Optional[ScheduleType], pydantic.Field(alias="scheduleType")
200
+ Annotated[Optional[ScheduleType], PlainValidator(validate_open_enum(False))],
201
+ pydantic.Field(alias="scheduleType"),
194
202
  ] = ScheduleType.INTERVAL
195
203
  r"""Select a schedule type; either an interval (in seconds) or a cron-style schedule."""
196
204
 
@@ -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 InputFileConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFilePqMode(str, Enum):
29
+ class InputFilePqMode(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 InputFileCompression(str, Enum):
36
+ class InputFileCompression(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 InputFilePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFilePq(BaseModel):
67
- mode: Optional[InputFilePqMode] = InputFilePqMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFilePqMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFilePqMode.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 InputFilePq(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[InputFileCompression] = InputFileCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFileCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFileCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,7 +103,7 @@ class InputFilePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFileMode(str, Enum):
106
+ class InputFileMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
107
  r"""Choose how to discover files to monitor"""
101
108
 
102
109
  AUTO = "auto"
@@ -200,7 +207,9 @@ class InputFile(BaseModel):
200
207
 
201
208
  pq: Optional[InputFilePq] = None
202
209
 
203
- mode: Optional[InputFileMode] = InputFileMode.AUTO
210
+ mode: Annotated[
211
+ Optional[InputFileMode], PlainValidator(validate_open_enum(False))
212
+ ] = InputFileMode.AUTO
204
213
  r"""Choose how to discover files to monitor"""
205
214
 
206
215
  interval: Optional[float] = 10
@@ -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 InputFirehoseConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputFirehoseMode(str, Enum):
29
+ class InputFirehoseMode(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 InputFirehoseCompression(str, Enum):
36
+ class InputFirehoseCompression(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 InputFirehosePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputFirehosePq(BaseModel):
67
- mode: Optional[InputFirehoseMode] = InputFirehoseMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputFirehoseMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputFirehoseMode.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 InputFirehosePq(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[InputFirehoseCompression] = InputFirehoseCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputFirehoseCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputFirehoseCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -96,14 +103,14 @@ class InputFirehosePq(BaseModel):
96
103
  ] = None
97
104
 
98
105
 
99
- class InputFirehoseMinimumTLSVersion(str, Enum):
106
+ class InputFirehoseMinimumTLSVersion(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 InputFirehoseMaximumTLSVersion(str, Enum):
113
+ class InputFirehoseMaximumTLSVersion(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 InputFirehoseTLSSettingsServerSide(BaseModel):
162
169
  ] = None
163
170
 
164
171
  min_version: Annotated[
165
- Optional[InputFirehoseMinimumTLSVersion], pydantic.Field(alias="minVersion")
172
+ Annotated[
173
+ Optional[InputFirehoseMinimumTLSVersion],
174
+ PlainValidator(validate_open_enum(False)),
175
+ ],
176
+ pydantic.Field(alias="minVersion"),
166
177
  ] = None
167
178
 
168
179
  max_version: Annotated[
169
- Optional[InputFirehoseMaximumTLSVersion], pydantic.Field(alias="maxVersion")
180
+ Annotated[
181
+ Optional[InputFirehoseMaximumTLSVersion],
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 InputGooglePubsubConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputGooglePubsubMode(str, Enum):
29
+ class InputGooglePubsubMode(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 InputGooglePubsubCompression(str, Enum):
36
+ class InputGooglePubsubCompression(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 InputGooglePubsubPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputGooglePubsubPq(BaseModel):
67
- mode: Optional[InputGooglePubsubMode] = InputGooglePubsubMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputGooglePubsubMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputGooglePubsubMode.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 InputGooglePubsubPq(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[InputGooglePubsubCompression] = InputGooglePubsubCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputGooglePubsubCompression],
98
+ PlainValidator(validate_open_enum(False)),
99
+ ] = InputGooglePubsubCompression.NONE
92
100
  r"""Codec to use to compress the persisted data"""
93
101
 
94
102
  pq_controls: Annotated[
@@ -96,7 +104,9 @@ class InputGooglePubsubPq(BaseModel):
96
104
  ] = None
97
105
 
98
106
 
99
- class InputGooglePubsubGoogleAuthenticationMethod(str, Enum):
107
+ class InputGooglePubsubGoogleAuthenticationMethod(
108
+ str, Enum, metaclass=utils.OpenEnumMeta
109
+ ):
100
110
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""
101
111
 
102
112
  AUTO = "auto"
@@ -219,7 +229,10 @@ class InputGooglePubsub(BaseModel):
219
229
  r"""Region to retrieve messages from. Select 'default' to allow Google to auto-select the nearest region. When using ordered delivery, the selected region must be allowed by message storage policy."""
220
230
 
221
231
  google_auth_method: Annotated[
222
- Optional[InputGooglePubsubGoogleAuthenticationMethod],
232
+ Annotated[
233
+ Optional[InputGooglePubsubGoogleAuthenticationMethod],
234
+ PlainValidator(validate_open_enum(False)),
235
+ ],
223
236
  pydantic.Field(alias="googleAuthMethod"),
224
237
  ] = InputGooglePubsubGoogleAuthenticationMethod.MANUAL
225
238
  r"""Choose Auto to use Google Application Default Credentials (ADC), Manual to enter Google service account credentials directly, or Secret to select or create a stored secret that references Google service account credentials."""