cribl-control-plane 0.2.1rc5__py3-none-any.whl → 0.2.1rc7__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 (167) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +0 -3
  3. cribl_control_plane/models/__init__.py +120 -150
  4. cribl_control_plane/models/cacheconnection.py +20 -0
  5. cribl_control_plane/models/configgroup.py +20 -1
  6. cribl_control_plane/models/configgroupcloud.py +11 -1
  7. cribl_control_plane/models/createconfiggroupbyproductop.py +11 -0
  8. cribl_control_plane/models/cribllakedataset.py +11 -1
  9. cribl_control_plane/models/cribllakedatasetupdate.py +11 -1
  10. cribl_control_plane/models/datasetmetadata.py +11 -1
  11. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  12. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  13. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  15. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getsummaryop.py +11 -0
  17. cribl_control_plane/models/groupcreaterequest.py +20 -1
  18. cribl_control_plane/models/hbcriblinfo.py +11 -1
  19. cribl_control_plane/models/healthserverstatus.py +20 -1
  20. cribl_control_plane/models/input.py +15 -15
  21. cribl_control_plane/models/inputappscope.py +76 -17
  22. cribl_control_plane/models/inputazureblob.py +29 -1
  23. cribl_control_plane/models/inputcollection.py +20 -1
  24. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  25. cribl_control_plane/models/inputcribl.py +20 -1
  26. cribl_control_plane/models/inputcriblhttp.py +58 -17
  27. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  28. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  29. cribl_control_plane/models/inputcribltcp.py +58 -17
  30. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  31. cribl_control_plane/models/inputdatadogagent.py +58 -17
  32. cribl_control_plane/models/inputdatagen.py +20 -1
  33. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  34. cribl_control_plane/models/inputelastic.py +108 -27
  35. cribl_control_plane/models/inputeventhub.py +176 -1
  36. cribl_control_plane/models/inputexec.py +29 -1
  37. cribl_control_plane/models/inputfile.py +36 -3
  38. cribl_control_plane/models/inputfirehose.py +58 -17
  39. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  40. cribl_control_plane/models/inputgrafana.py +149 -32
  41. cribl_control_plane/models/inputhttp.py +58 -17
  42. cribl_control_plane/models/inputhttpraw.py +58 -17
  43. cribl_control_plane/models/inputjournalfiles.py +20 -1
  44. cribl_control_plane/models/inputkafka.py +182 -1
  45. cribl_control_plane/models/inputkinesis.py +65 -1
  46. cribl_control_plane/models/inputkubeevents.py +20 -1
  47. cribl_control_plane/models/inputkubelogs.py +29 -1
  48. cribl_control_plane/models/inputkubemetrics.py +29 -1
  49. cribl_control_plane/models/inputloki.py +67 -17
  50. cribl_control_plane/models/inputmetrics.py +58 -17
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  52. cribl_control_plane/models/inputmsk.py +74 -1
  53. cribl_control_plane/models/inputnetflow.py +20 -1
  54. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  55. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  56. cribl_control_plane/models/inputoffice365service.py +56 -1
  57. cribl_control_plane/models/inputopentelemetry.py +84 -16
  58. cribl_control_plane/models/inputprometheus.py +131 -37
  59. cribl_control_plane/models/inputprometheusrw.py +67 -17
  60. cribl_control_plane/models/inputrawudp.py +20 -1
  61. cribl_control_plane/models/inputs3.py +38 -1
  62. cribl_control_plane/models/inputs3inventory.py +47 -1
  63. cribl_control_plane/models/inputsecuritylake.py +47 -1
  64. cribl_control_plane/models/inputsnmp.py +29 -1
  65. cribl_control_plane/models/inputsplunk.py +76 -17
  66. cribl_control_plane/models/inputsplunkhec.py +66 -16
  67. cribl_control_plane/models/inputsplunksearch.py +56 -1
  68. cribl_control_plane/models/inputsqs.py +47 -1
  69. cribl_control_plane/models/inputsyslog.py +113 -32
  70. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  71. cribl_control_plane/models/inputsystemstate.py +29 -1
  72. cribl_control_plane/models/inputtcp.py +77 -17
  73. cribl_control_plane/models/inputtcpjson.py +67 -17
  74. cribl_control_plane/models/inputwef.py +65 -1
  75. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  76. cribl_control_plane/models/inputwineventlogs.py +52 -1
  77. cribl_control_plane/models/inputwiz.py +38 -1
  78. cribl_control_plane/models/inputwizwebhook.py +58 -17
  79. cribl_control_plane/models/inputzscalerhec.py +66 -16
  80. cribl_control_plane/models/jobstatus.py +34 -3
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  82. cribl_control_plane/models/masterworkerentry.py +11 -1
  83. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  84. cribl_control_plane/models/output.py +21 -21
  85. cribl_control_plane/models/outputazureblob.py +90 -1
  86. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  87. cribl_control_plane/models/outputazureeventhub.py +267 -22
  88. cribl_control_plane/models/outputazurelogs.py +105 -22
  89. cribl_control_plane/models/outputchronicle.py +105 -22
  90. cribl_control_plane/models/outputclickhouse.py +141 -22
  91. cribl_control_plane/models/outputcloudwatch.py +96 -22
  92. cribl_control_plane/models/outputconfluentcloud.py +290 -23
  93. cribl_control_plane/models/outputcriblhttp.py +123 -22
  94. cribl_control_plane/models/outputcribllake.py +76 -1
  95. cribl_control_plane/models/outputcribltcp.py +123 -22
  96. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  97. cribl_control_plane/models/outputdatabricks.py +72 -1
  98. cribl_control_plane/models/outputdatadog.py +132 -22
  99. cribl_control_plane/models/outputdataset.py +123 -22
  100. cribl_control_plane/models/outputdiskspool.py +11 -1
  101. cribl_control_plane/models/outputdls3.py +117 -1
  102. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  103. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  104. cribl_control_plane/models/outputelastic.py +148 -22
  105. cribl_control_plane/models/outputelasticcloud.py +130 -22
  106. cribl_control_plane/models/outputexabeam.py +47 -1
  107. cribl_control_plane/models/outputfilesystem.py +72 -1
  108. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  109. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  110. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  111. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  112. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  113. cribl_control_plane/models/outputgraphite.py +96 -22
  114. cribl_control_plane/models/outputhoneycomb.py +105 -22
  115. cribl_control_plane/models/outputhumiohec.py +114 -22
  116. cribl_control_plane/models/outputinfluxdb.py +114 -22
  117. cribl_control_plane/models/outputkafka.py +281 -20
  118. cribl_control_plane/models/outputkinesis.py +121 -22
  119. cribl_control_plane/models/outputloki.py +112 -20
  120. cribl_control_plane/models/outputminio.py +117 -1
  121. cribl_control_plane/models/outputmsk.py +173 -20
  122. cribl_control_plane/models/outputnewrelic.py +123 -22
  123. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  124. cribl_control_plane/models/outputopentelemetry.py +159 -22
  125. cribl_control_plane/models/outputprometheus.py +105 -22
  126. cribl_control_plane/models/outputring.py +29 -1
  127. cribl_control_plane/models/outputs3.py +117 -1
  128. cribl_control_plane/models/outputsecuritylake.py +85 -1
  129. cribl_control_plane/models/outputsentinel.py +123 -22
  130. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  131. cribl_control_plane/models/outputservicenow.py +150 -22
  132. cribl_control_plane/models/outputsignalfx.py +105 -22
  133. cribl_control_plane/models/outputsns.py +103 -20
  134. cribl_control_plane/models/outputsplunk.py +141 -22
  135. cribl_control_plane/models/outputsplunkhec.py +198 -22
  136. cribl_control_plane/models/outputsplunklb.py +170 -22
  137. cribl_control_plane/models/outputsqs.py +112 -20
  138. cribl_control_plane/models/outputstatsd.py +96 -22
  139. cribl_control_plane/models/outputstatsdext.py +96 -22
  140. cribl_control_plane/models/outputsumologic.py +105 -22
  141. cribl_control_plane/models/outputsyslog.py +238 -99
  142. cribl_control_plane/models/outputtcpjson.py +132 -22
  143. cribl_control_plane/models/outputwavefront.py +105 -22
  144. cribl_control_plane/models/outputwebhook.py +141 -22
  145. cribl_control_plane/models/outputxsiam.py +103 -20
  146. cribl_control_plane/models/pipeline.py +4 -4
  147. cribl_control_plane/models/resourcepolicy.py +11 -0
  148. cribl_control_plane/models/runnablejobcollection.py +68 -9
  149. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  150. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  151. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  152. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  153. cribl_control_plane/pipelines.py +8 -8
  154. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/METADATA +2 -11
  155. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/RECORD +156 -167
  156. cribl_control_plane/mappings.py +0 -1185
  157. cribl_control_plane/models/createadminproductsmappingsactivatebyproductop.py +0 -52
  158. cribl_control_plane/models/createadminproductsmappingsbyproductop.py +0 -53
  159. cribl_control_plane/models/deleteadminproductsmappingsbyproductandidop.py +0 -51
  160. cribl_control_plane/models/getadminproductsmappingsbyproductandidop.py +0 -51
  161. cribl_control_plane/models/getadminproductsmappingsbyproductop.py +0 -44
  162. cribl_control_plane/models/mappingruleset.py +0 -53
  163. cribl_control_plane/models/mappingrulesetevalmappingfunction.py +0 -71
  164. cribl_control_plane/models/mappingrulesetgenericmappingfunction.py +0 -29
  165. cribl_control_plane/models/rulesetid.py +0 -13
  166. cribl_control_plane/models/updateadminproductsmappingsbyproductandidop.py +0 -63
  167. {cribl_control_plane-0.2.1rc5.dist-info → cribl_control_plane-0.2.1rc7.dist-info}/WHEEL +0 -0
@@ -1,13 +1,14 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
- from typing import Any, List, Optional
11
+ from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputAppscopePq(BaseModel):
106
107
  Optional[InputAppscopePqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputAppscopeMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputAppscopeCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputAppscopeMetadatumTypedDict(TypedDict):
111
130
  name: str
@@ -197,6 +216,15 @@ class InputAppscopePersistence(BaseModel):
197
216
  )
198
217
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/appscope"""
199
218
 
219
+ @field_serializer("compress")
220
+ def serialize_compress(self, value):
221
+ if isinstance(value, str):
222
+ try:
223
+ return models.InputAppscopeDataCompressionFormat(value)
224
+ except ValueError:
225
+ return value
226
+ return value
227
+
200
228
 
201
229
  class InputAppscopeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
202
230
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -221,6 +249,12 @@ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
221
249
 
222
250
  class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
223
251
  disabled: NotRequired[bool]
252
+ request_cert: NotRequired[bool]
253
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
254
+ reject_unauthorized: NotRequired[bool]
255
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
256
+ common_name_regex: NotRequired[str]
257
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
224
258
  certificate_name: NotRequired[str]
225
259
  r"""The name of the predefined certificate"""
226
260
  priv_key_path: NotRequired[str]
@@ -231,10 +265,6 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
231
265
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
232
266
  ca_path: NotRequired[str]
233
267
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
234
- request_cert: NotRequired[bool]
235
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
236
- reject_unauthorized: NotRequired[Any]
237
- common_name_regex: NotRequired[Any]
238
268
  min_version: NotRequired[InputAppscopeMinimumTLSVersion]
239
269
  max_version: NotRequired[InputAppscopeMaximumTLSVersion]
240
270
 
@@ -242,6 +272,19 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
242
272
  class InputAppscopeTLSSettingsServerSide(BaseModel):
243
273
  disabled: Optional[bool] = True
244
274
 
275
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
276
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
277
+
278
+ reject_unauthorized: Annotated[
279
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
280
+ ] = True
281
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
282
+
283
+ common_name_regex: Annotated[
284
+ Optional[str], pydantic.Field(alias="commonNameRegex")
285
+ ] = "/.*/"
286
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
287
+
245
288
  certificate_name: Annotated[
246
289
  Optional[str], pydantic.Field(alias="certificateName")
247
290
  ] = None
@@ -259,17 +302,6 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
259
302
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
260
303
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
261
304
 
262
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
263
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
264
-
265
- reject_unauthorized: Annotated[
266
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
267
- ] = None
268
-
269
- common_name_regex: Annotated[
270
- Optional[Any], pydantic.Field(alias="commonNameRegex")
271
- ] = None
272
-
273
305
  min_version: Annotated[
274
306
  Annotated[
275
307
  Optional[InputAppscopeMinimumTLSVersion],
@@ -286,6 +318,24 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
286
318
  pydantic.Field(alias="maxVersion"),
287
319
  ] = None
288
320
 
321
+ @field_serializer("min_version")
322
+ def serialize_min_version(self, value):
323
+ if isinstance(value, str):
324
+ try:
325
+ return models.InputAppscopeMinimumTLSVersion(value)
326
+ except ValueError:
327
+ return value
328
+ return value
329
+
330
+ @field_serializer("max_version")
331
+ def serialize_max_version(self, value):
332
+ if isinstance(value, str):
333
+ try:
334
+ return models.InputAppscopeMaximumTLSVersion(value)
335
+ except ValueError:
336
+ return value
337
+ return value
338
+
289
339
 
290
340
  class InputAppscopeTypedDict(TypedDict):
291
341
  type: InputAppscopeType
@@ -463,3 +513,12 @@ class InputAppscope(BaseModel):
463
513
 
464
514
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
465
515
  r"""Select or create a stored text secret"""
516
+
517
+ @field_serializer("auth_type")
518
+ def serialize_auth_type(self, value):
519
+ if isinstance(value, str):
520
+ try:
521
+ return models.InputAppscopeAuthenticationMethod(value)
522
+ except ValueError:
523
+ return value
524
+ return value
@@ -1,11 +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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputAzureBlobPq(BaseModel):
106
107
  Optional[InputAzureBlobPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputAzureBlobMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputAzureBlobCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputAzureBlobMetadatumTypedDict(TypedDict):
111
130
  name: str
@@ -323,3 +342,12 @@ class InputAzureBlob(BaseModel):
323
342
  r"""Select or create a stored text secret"""
324
343
 
325
344
  certificate: Optional[InputAzureBlobCertificate] = None
345
+
346
+ @field_serializer("auth_type")
347
+ def serialize_auth_type(self, value):
348
+ if isinstance(value, str):
349
+ try:
350
+ return models.InputAzureBlobAuthenticationMethod(value)
351
+ except ValueError:
352
+ return value
353
+ return value
@@ -1,11 +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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputCollectionPq(BaseModel):
106
107
  Optional[InputCollectionPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCollectionMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputCollectionCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputCollectionPreprocessTypedDict(TypedDict):
111
130
  disabled: NotRequired[bool]
@@ -1,11 +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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -107,6 +108,24 @@ class InputConfluentCloudPq(BaseModel):
107
108
  Optional[InputConfluentCloudPqControls], pydantic.Field(alias="pqControls")
108
109
  ] = None
109
110
 
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputConfluentCloudMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputConfluentCloudCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
110
129
 
111
130
  class InputConfluentCloudMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
112
131
  TL_SV1 = "TLSv1"
@@ -190,6 +209,24 @@ class InputConfluentCloudTLSSettingsClientSide(BaseModel):
190
209
  pydantic.Field(alias="maxVersion"),
191
210
  ] = None
192
211
 
212
+ @field_serializer("min_version")
213
+ def serialize_min_version(self, value):
214
+ if isinstance(value, str):
215
+ try:
216
+ return models.InputConfluentCloudMinimumTLSVersion(value)
217
+ except ValueError:
218
+ return value
219
+ return value
220
+
221
+ @field_serializer("max_version")
222
+ def serialize_max_version(self, value):
223
+ if isinstance(value, str):
224
+ try:
225
+ return models.InputConfluentCloudMaximumTLSVersion(value)
226
+ except ValueError:
227
+ return value
228
+ return value
229
+
193
230
 
194
231
  class InputConfluentCloudAuthTypedDict(TypedDict):
195
232
  r"""Credentials to use when authenticating with the schema registry using basic HTTP authentication"""
@@ -296,6 +333,28 @@ class InputConfluentCloudKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
296
333
  pydantic.Field(alias="maxVersion"),
297
334
  ] = None
298
335
 
336
+ @field_serializer("min_version")
337
+ def serialize_min_version(self, value):
338
+ if isinstance(value, str):
339
+ try:
340
+ return models.InputConfluentCloudKafkaSchemaRegistryMinimumTLSVersion(
341
+ value
342
+ )
343
+ except ValueError:
344
+ return value
345
+ return value
346
+
347
+ @field_serializer("max_version")
348
+ def serialize_max_version(self, value):
349
+ if isinstance(value, str):
350
+ try:
351
+ return models.InputConfluentCloudKafkaSchemaRegistryMaximumTLSVersion(
352
+ value
353
+ )
354
+ except ValueError:
355
+ return value
356
+ return value
357
+
299
358
 
300
359
  class InputConfluentCloudKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
301
360
  disabled: NotRequired[bool]
@@ -341,6 +400,13 @@ class InputConfluentCloudKafkaSchemaRegistryAuthentication(BaseModel):
341
400
  tls: Optional[InputConfluentCloudKafkaSchemaRegistryTLSSettingsClientSide] = None
342
401
 
343
402
 
403
+ class InputConfluentCloudAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
404
+ r"""Enter credentials directly, or select a stored secret"""
405
+
406
+ MANUAL = "manual"
407
+ SECRET = "secret"
408
+
409
+
344
410
  class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
345
411
  # PLAIN
346
412
  PLAIN = "plain"
@@ -352,13 +418,58 @@ class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
352
418
  KERBEROS = "kerberos"
353
419
 
354
420
 
421
+ class InputConfluentCloudOauthParamTypedDict(TypedDict):
422
+ name: str
423
+ value: str
424
+
425
+
426
+ class InputConfluentCloudOauthParam(BaseModel):
427
+ name: str
428
+
429
+ value: str
430
+
431
+
432
+ class InputConfluentCloudSaslExtensionTypedDict(TypedDict):
433
+ name: str
434
+ value: str
435
+
436
+
437
+ class InputConfluentCloudSaslExtension(BaseModel):
438
+ name: str
439
+
440
+ value: str
441
+
442
+
355
443
  class InputConfluentCloudAuthenticationTypedDict(TypedDict):
356
444
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
357
445
 
358
446
  disabled: NotRequired[bool]
447
+ username: NotRequired[str]
448
+ password: NotRequired[str]
449
+ auth_type: NotRequired[InputConfluentCloudAuthenticationMethod]
450
+ r"""Enter credentials directly, or select a stored secret"""
451
+ credentials_secret: NotRequired[str]
452
+ r"""Select or create a secret that references your credentials"""
359
453
  mechanism: NotRequired[InputConfluentCloudSASLMechanism]
454
+ keytab_location: NotRequired[str]
455
+ r"""Location of keytab file for authentication principal"""
456
+ principal: NotRequired[str]
457
+ r"""Authentication principal, such as `kafka_user@example.com`"""
458
+ broker_service_class: NotRequired[str]
459
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
360
460
  oauth_enabled: NotRequired[bool]
361
461
  r"""Enable OAuth authentication"""
462
+ token_url: NotRequired[str]
463
+ r"""URL of the token endpoint to use for OAuth authentication"""
464
+ client_id: NotRequired[str]
465
+ r"""Client ID to use for OAuth authentication"""
466
+ oauth_secret_type: NotRequired[str]
467
+ client_text_secret: NotRequired[str]
468
+ r"""Select or create a stored text secret"""
469
+ oauth_params: NotRequired[List[InputConfluentCloudOauthParamTypedDict]]
470
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
471
+ sasl_extensions: NotRequired[List[InputConfluentCloudSaslExtensionTypedDict]]
472
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
362
473
 
363
474
 
364
475
  class InputConfluentCloudAuthentication(BaseModel):
@@ -366,16 +477,92 @@ class InputConfluentCloudAuthentication(BaseModel):
366
477
 
367
478
  disabled: Optional[bool] = True
368
479
 
480
+ username: Optional[str] = None
481
+
482
+ password: Optional[str] = None
483
+
484
+ auth_type: Annotated[
485
+ Annotated[
486
+ Optional[InputConfluentCloudAuthenticationMethod],
487
+ PlainValidator(validate_open_enum(False)),
488
+ ],
489
+ pydantic.Field(alias="authType"),
490
+ ] = InputConfluentCloudAuthenticationMethod.MANUAL
491
+ r"""Enter credentials directly, or select a stored secret"""
492
+
493
+ credentials_secret: Annotated[
494
+ Optional[str], pydantic.Field(alias="credentialsSecret")
495
+ ] = None
496
+ r"""Select or create a secret that references your credentials"""
497
+
369
498
  mechanism: Annotated[
370
499
  Optional[InputConfluentCloudSASLMechanism],
371
500
  PlainValidator(validate_open_enum(False)),
372
501
  ] = InputConfluentCloudSASLMechanism.PLAIN
373
502
 
503
+ keytab_location: Annotated[
504
+ Optional[str], pydantic.Field(alias="keytabLocation")
505
+ ] = None
506
+ r"""Location of keytab file for authentication principal"""
507
+
508
+ principal: Optional[str] = None
509
+ r"""Authentication principal, such as `kafka_user@example.com`"""
510
+
511
+ broker_service_class: Annotated[
512
+ Optional[str], pydantic.Field(alias="brokerServiceClass")
513
+ ] = None
514
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
515
+
374
516
  oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
375
517
  False
376
518
  )
377
519
  r"""Enable OAuth authentication"""
378
520
 
521
+ token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
522
+ r"""URL of the token endpoint to use for OAuth authentication"""
523
+
524
+ client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
525
+ r"""Client ID to use for OAuth authentication"""
526
+
527
+ oauth_secret_type: Annotated[
528
+ Optional[str], pydantic.Field(alias="oauthSecretType")
529
+ ] = "secret"
530
+
531
+ client_text_secret: Annotated[
532
+ Optional[str], pydantic.Field(alias="clientTextSecret")
533
+ ] = None
534
+ r"""Select or create a stored text secret"""
535
+
536
+ oauth_params: Annotated[
537
+ Optional[List[InputConfluentCloudOauthParam]],
538
+ pydantic.Field(alias="oauthParams"),
539
+ ] = None
540
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
541
+
542
+ sasl_extensions: Annotated[
543
+ Optional[List[InputConfluentCloudSaslExtension]],
544
+ pydantic.Field(alias="saslExtensions"),
545
+ ] = None
546
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
547
+
548
+ @field_serializer("auth_type")
549
+ def serialize_auth_type(self, value):
550
+ if isinstance(value, str):
551
+ try:
552
+ return models.InputConfluentCloudAuthenticationMethod(value)
553
+ except ValueError:
554
+ return value
555
+ return value
556
+
557
+ @field_serializer("mechanism")
558
+ def serialize_mechanism(self, value):
559
+ if isinstance(value, str):
560
+ try:
561
+ return models.InputConfluentCloudSASLMechanism(value)
562
+ except ValueError:
563
+ return value
564
+ return value
565
+
379
566
 
380
567
  class InputConfluentCloudMetadatumTypedDict(TypedDict):
381
568
  name: str
@@ -1,11 +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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
11
  from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
@@ -106,6 +107,24 @@ class InputCriblPq(BaseModel):
106
107
  Optional[InputCriblPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCriblMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputCriblCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputCriblMetadatumTypedDict(TypedDict):
111
130
  name: str
@@ -1,13 +1,14 @@
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
+ from cribl_control_plane import models, utils
5
5
  from cribl_control_plane.types import BaseModel
6
6
  from cribl_control_plane.utils import validate_open_enum
7
7
  from enum import Enum
8
8
  import pydantic
9
+ from pydantic import field_serializer
9
10
  from pydantic.functional_validators import PlainValidator
10
- from typing import Any, List, Optional
11
+ from typing import List, Optional
11
12
  from typing_extensions import Annotated, NotRequired, TypedDict
12
13
 
13
14
 
@@ -106,6 +107,24 @@ class InputCriblHTTPPq(BaseModel):
106
107
  Optional[InputCriblHTTPPqControls], pydantic.Field(alias="pqControls")
107
108
  ] = None
108
109
 
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCriblHTTPMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputCriblHTTPCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputCriblHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
125
144
  disabled: NotRequired[bool]
145
+ request_cert: NotRequired[bool]
146
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
147
+ reject_unauthorized: NotRequired[bool]
148
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
149
+ common_name_regex: NotRequired[str]
150
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
126
151
  certificate_name: NotRequired[str]
127
152
  r"""The name of the predefined certificate"""
128
153
  priv_key_path: NotRequired[str]
@@ -133,10 +158,6 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
133
158
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
134
159
  ca_path: NotRequired[str]
135
160
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
136
- request_cert: NotRequired[bool]
137
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
138
- reject_unauthorized: NotRequired[Any]
139
- common_name_regex: NotRequired[Any]
140
161
  min_version: NotRequired[InputCriblHTTPMinimumTLSVersion]
141
162
  max_version: NotRequired[InputCriblHTTPMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputCriblHTTPTLSSettingsServerSide(BaseModel):
145
166
  disabled: Optional[bool] = True
146
167
 
168
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
169
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
+
171
+ reject_unauthorized: Annotated[
172
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
173
+ ] = True
174
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
175
+
176
+ common_name_regex: Annotated[
177
+ Optional[str], pydantic.Field(alias="commonNameRegex")
178
+ ] = "/.*/"
179
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
180
+
147
181
  certificate_name: Annotated[
148
182
  Optional[str], pydantic.Field(alias="certificateName")
149
183
  ] = None
@@ -161,17 +195,6 @@ class InputCriblHTTPTLSSettingsServerSide(BaseModel):
161
195
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
162
196
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
163
197
 
164
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
165
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
166
-
167
- reject_unauthorized: Annotated[
168
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
169
- ] = None
170
-
171
- common_name_regex: Annotated[
172
- Optional[Any], pydantic.Field(alias="commonNameRegex")
173
- ] = None
174
-
175
198
  min_version: Annotated[
176
199
  Annotated[
177
200
  Optional[InputCriblHTTPMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputCriblHTTPTLSSettingsServerSide(BaseModel):
188
211
  pydantic.Field(alias="maxVersion"),
189
212
  ] = None
190
213
 
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputCriblHTTPMinimumTLSVersion(value)
219
+ except ValueError:
220
+ return value
221
+ return value
222
+
223
+ @field_serializer("max_version")
224
+ def serialize_max_version(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputCriblHTTPMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputCriblHTTPMetadatumTypedDict(TypedDict):
193
234
  name: str