cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (158) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/groups_sdk.py +2 -2
  3. cribl_control_plane/lakedatasets.py +28 -0
  4. cribl_control_plane/models/__init__.py +124 -5
  5. cribl_control_plane/models/cacheconnection.py +20 -0
  6. cribl_control_plane/models/configgroup.py +20 -1
  7. cribl_control_plane/models/configgroupcloud.py +11 -1
  8. cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
  9. cribl_control_plane/models/cribllakedataset.py +15 -1
  10. cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
  11. cribl_control_plane/models/datasetmetadata.py +11 -1
  12. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
  13. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
  14. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
  15. cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
  16. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
  17. cribl_control_plane/models/getsummaryop.py +11 -0
  18. cribl_control_plane/models/groupcreaterequest.py +20 -1
  19. cribl_control_plane/models/hbcriblinfo.py +11 -1
  20. cribl_control_plane/models/healthserverstatus.py +20 -1
  21. cribl_control_plane/models/input.py +15 -15
  22. cribl_control_plane/models/inputappscope.py +76 -17
  23. cribl_control_plane/models/inputazureblob.py +29 -1
  24. cribl_control_plane/models/inputcollection.py +20 -1
  25. cribl_control_plane/models/inputconfluentcloud.py +188 -1
  26. cribl_control_plane/models/inputcribl.py +20 -1
  27. cribl_control_plane/models/inputcriblhttp.py +58 -17
  28. cribl_control_plane/models/inputcribllakehttp.py +58 -17
  29. cribl_control_plane/models/inputcriblmetrics.py +20 -1
  30. cribl_control_plane/models/inputcribltcp.py +58 -17
  31. cribl_control_plane/models/inputcrowdstrike.py +47 -1
  32. cribl_control_plane/models/inputdatadogagent.py +58 -17
  33. cribl_control_plane/models/inputdatagen.py +20 -1
  34. cribl_control_plane/models/inputedgeprometheus.py +138 -37
  35. cribl_control_plane/models/inputelastic.py +108 -27
  36. cribl_control_plane/models/inputeventhub.py +176 -1
  37. cribl_control_plane/models/inputexec.py +29 -1
  38. cribl_control_plane/models/inputfile.py +40 -7
  39. cribl_control_plane/models/inputfirehose.py +58 -17
  40. cribl_control_plane/models/inputgooglepubsub.py +29 -1
  41. cribl_control_plane/models/inputgrafana.py +149 -32
  42. cribl_control_plane/models/inputhttp.py +58 -17
  43. cribl_control_plane/models/inputhttpraw.py +58 -17
  44. cribl_control_plane/models/inputjournalfiles.py +20 -1
  45. cribl_control_plane/models/inputkafka.py +182 -1
  46. cribl_control_plane/models/inputkinesis.py +65 -1
  47. cribl_control_plane/models/inputkubeevents.py +20 -1
  48. cribl_control_plane/models/inputkubelogs.py +29 -1
  49. cribl_control_plane/models/inputkubemetrics.py +29 -1
  50. cribl_control_plane/models/inputloki.py +67 -17
  51. cribl_control_plane/models/inputmetrics.py +58 -17
  52. cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
  53. cribl_control_plane/models/inputmsk.py +74 -1
  54. cribl_control_plane/models/inputnetflow.py +20 -1
  55. cribl_control_plane/models/inputoffice365mgmt.py +56 -1
  56. cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
  57. cribl_control_plane/models/inputoffice365service.py +56 -1
  58. cribl_control_plane/models/inputopentelemetry.py +84 -16
  59. cribl_control_plane/models/inputprometheus.py +131 -37
  60. cribl_control_plane/models/inputprometheusrw.py +67 -17
  61. cribl_control_plane/models/inputrawudp.py +20 -1
  62. cribl_control_plane/models/inputs3.py +38 -1
  63. cribl_control_plane/models/inputs3inventory.py +47 -1
  64. cribl_control_plane/models/inputsecuritylake.py +47 -1
  65. cribl_control_plane/models/inputsnmp.py +29 -1
  66. cribl_control_plane/models/inputsplunk.py +76 -17
  67. cribl_control_plane/models/inputsplunkhec.py +66 -16
  68. cribl_control_plane/models/inputsplunksearch.py +56 -1
  69. cribl_control_plane/models/inputsqs.py +47 -1
  70. cribl_control_plane/models/inputsyslog.py +113 -32
  71. cribl_control_plane/models/inputsystemmetrics.py +110 -9
  72. cribl_control_plane/models/inputsystemstate.py +29 -1
  73. cribl_control_plane/models/inputtcp.py +77 -17
  74. cribl_control_plane/models/inputtcpjson.py +67 -17
  75. cribl_control_plane/models/inputwef.py +65 -1
  76. cribl_control_plane/models/inputwindowsmetrics.py +101 -9
  77. cribl_control_plane/models/inputwineventlogs.py +52 -1
  78. cribl_control_plane/models/inputwiz.py +38 -1
  79. cribl_control_plane/models/inputwizwebhook.py +58 -17
  80. cribl_control_plane/models/inputzscalerhec.py +66 -16
  81. cribl_control_plane/models/jobinfo.py +10 -4
  82. cribl_control_plane/models/jobstatus.py +34 -3
  83. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  84. cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
  85. cribl_control_plane/models/masterworkerentry.py +11 -1
  86. cribl_control_plane/models/nodeupgradestatus.py +38 -0
  87. cribl_control_plane/models/output.py +21 -21
  88. cribl_control_plane/models/outputazureblob.py +90 -1
  89. cribl_control_plane/models/outputazuredataexplorer.py +430 -93
  90. cribl_control_plane/models/outputazureeventhub.py +267 -22
  91. cribl_control_plane/models/outputazurelogs.py +105 -22
  92. cribl_control_plane/models/outputchronicle.py +105 -22
  93. cribl_control_plane/models/outputclickhouse.py +141 -22
  94. cribl_control_plane/models/outputcloudwatch.py +96 -22
  95. cribl_control_plane/models/outputconfluentcloud.py +292 -23
  96. cribl_control_plane/models/outputcriblhttp.py +123 -22
  97. cribl_control_plane/models/outputcribllake.py +76 -1
  98. cribl_control_plane/models/outputcribltcp.py +123 -22
  99. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
  100. cribl_control_plane/models/outputdatabricks.py +76 -5
  101. cribl_control_plane/models/outputdatadog.py +132 -22
  102. cribl_control_plane/models/outputdataset.py +123 -22
  103. cribl_control_plane/models/outputdiskspool.py +11 -1
  104. cribl_control_plane/models/outputdls3.py +117 -1
  105. cribl_control_plane/models/outputdynatracehttp.py +141 -22
  106. cribl_control_plane/models/outputdynatraceotlp.py +141 -22
  107. cribl_control_plane/models/outputelastic.py +148 -22
  108. cribl_control_plane/models/outputelasticcloud.py +130 -22
  109. cribl_control_plane/models/outputexabeam.py +47 -1
  110. cribl_control_plane/models/outputfilesystem.py +72 -1
  111. cribl_control_plane/models/outputgooglechronicle.py +148 -23
  112. cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
  113. cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
  114. cribl_control_plane/models/outputgooglepubsub.py +96 -22
  115. cribl_control_plane/models/outputgrafanacloud.py +244 -43
  116. cribl_control_plane/models/outputgraphite.py +96 -22
  117. cribl_control_plane/models/outputhoneycomb.py +105 -22
  118. cribl_control_plane/models/outputhumiohec.py +114 -22
  119. cribl_control_plane/models/outputinfluxdb.py +114 -22
  120. cribl_control_plane/models/outputkafka.py +283 -20
  121. cribl_control_plane/models/outputkinesis.py +121 -22
  122. cribl_control_plane/models/outputloki.py +112 -20
  123. cribl_control_plane/models/outputminio.py +117 -1
  124. cribl_control_plane/models/outputmsk.py +175 -20
  125. cribl_control_plane/models/outputnewrelic.py +123 -22
  126. cribl_control_plane/models/outputnewrelicevents.py +115 -23
  127. cribl_control_plane/models/outputopentelemetry.py +159 -22
  128. cribl_control_plane/models/outputprometheus.py +105 -22
  129. cribl_control_plane/models/outputring.py +29 -1
  130. cribl_control_plane/models/outputs3.py +117 -1
  131. cribl_control_plane/models/outputsecuritylake.py +85 -1
  132. cribl_control_plane/models/outputsentinel.py +123 -22
  133. cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
  134. cribl_control_plane/models/outputservicenow.py +150 -22
  135. cribl_control_plane/models/outputsignalfx.py +105 -22
  136. cribl_control_plane/models/outputsns.py +103 -20
  137. cribl_control_plane/models/outputsplunk.py +141 -22
  138. cribl_control_plane/models/outputsplunkhec.py +198 -22
  139. cribl_control_plane/models/outputsplunklb.py +170 -22
  140. cribl_control_plane/models/outputsqs.py +112 -20
  141. cribl_control_plane/models/outputstatsd.py +96 -22
  142. cribl_control_plane/models/outputstatsdext.py +96 -22
  143. cribl_control_plane/models/outputsumologic.py +105 -22
  144. cribl_control_plane/models/outputsyslog.py +238 -99
  145. cribl_control_plane/models/outputtcpjson.py +132 -22
  146. cribl_control_plane/models/outputwavefront.py +105 -22
  147. cribl_control_plane/models/outputwebhook.py +141 -22
  148. cribl_control_plane/models/outputxsiam.py +103 -20
  149. cribl_control_plane/models/resourcepolicy.py +11 -0
  150. cribl_control_plane/models/runnablejobcollection.py +68 -9
  151. cribl_control_plane/models/runnablejobexecutor.py +32 -9
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
  155. cribl_control_plane/sdk.py +2 -2
  156. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
  157. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
  158. {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
@@ -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 InputKafkaPq(BaseModel):
106
107
  Optional[InputKafkaPqControls], 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.InputKafkaMode(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.InputKafkaCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputKafkaAuthTypedDict(TypedDict):
111
130
  r"""Credentials to use when authenticating with the schema registry using basic HTTP authentication"""
@@ -212,6 +231,24 @@ class InputKafkaKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
212
231
  pydantic.Field(alias="maxVersion"),
213
232
  ] = None
214
233
 
234
+ @field_serializer("min_version")
235
+ def serialize_min_version(self, value):
236
+ if isinstance(value, str):
237
+ try:
238
+ return models.InputKafkaKafkaSchemaRegistryMinimumTLSVersion(value)
239
+ except ValueError:
240
+ return value
241
+ return value
242
+
243
+ @field_serializer("max_version")
244
+ def serialize_max_version(self, value):
245
+ if isinstance(value, str):
246
+ try:
247
+ return models.InputKafkaKafkaSchemaRegistryMaximumTLSVersion(value)
248
+ except ValueError:
249
+ return value
250
+ return value
251
+
215
252
 
216
253
  class InputKafkaKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
217
254
  disabled: NotRequired[bool]
@@ -255,6 +292,13 @@ class InputKafkaKafkaSchemaRegistryAuthentication(BaseModel):
255
292
  tls: Optional[InputKafkaKafkaSchemaRegistryTLSSettingsClientSide] = None
256
293
 
257
294
 
295
+ class InputKafkaAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
296
+ r"""Enter credentials directly, or select a stored secret"""
297
+
298
+ MANUAL = "manual"
299
+ SECRET = "secret"
300
+
301
+
258
302
  class InputKafkaSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
259
303
  # PLAIN
260
304
  PLAIN = "plain"
@@ -266,13 +310,58 @@ class InputKafkaSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
266
310
  KERBEROS = "kerberos"
267
311
 
268
312
 
313
+ class InputKafkaOauthParamTypedDict(TypedDict):
314
+ name: str
315
+ value: str
316
+
317
+
318
+ class InputKafkaOauthParam(BaseModel):
319
+ name: str
320
+
321
+ value: str
322
+
323
+
324
+ class InputKafkaSaslExtensionTypedDict(TypedDict):
325
+ name: str
326
+ value: str
327
+
328
+
329
+ class InputKafkaSaslExtension(BaseModel):
330
+ name: str
331
+
332
+ value: str
333
+
334
+
269
335
  class InputKafkaAuthenticationTypedDict(TypedDict):
270
336
  r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
271
337
 
272
338
  disabled: NotRequired[bool]
339
+ username: NotRequired[str]
340
+ password: NotRequired[str]
341
+ auth_type: NotRequired[InputKafkaAuthenticationMethod]
342
+ r"""Enter credentials directly, or select a stored secret"""
343
+ credentials_secret: NotRequired[str]
344
+ r"""Select or create a secret that references your credentials"""
273
345
  mechanism: NotRequired[InputKafkaSASLMechanism]
346
+ keytab_location: NotRequired[str]
347
+ r"""Location of keytab file for authentication principal"""
348
+ principal: NotRequired[str]
349
+ r"""Authentication principal, such as `kafka_user@example.com`"""
350
+ broker_service_class: NotRequired[str]
351
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
274
352
  oauth_enabled: NotRequired[bool]
275
353
  r"""Enable OAuth authentication"""
354
+ token_url: NotRequired[str]
355
+ r"""URL of the token endpoint to use for OAuth authentication"""
356
+ client_id: NotRequired[str]
357
+ r"""Client ID to use for OAuth authentication"""
358
+ oauth_secret_type: NotRequired[str]
359
+ client_text_secret: NotRequired[str]
360
+ r"""Select or create a stored text secret"""
361
+ oauth_params: NotRequired[List[InputKafkaOauthParamTypedDict]]
362
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
363
+ sasl_extensions: NotRequired[List[InputKafkaSaslExtensionTypedDict]]
364
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
276
365
 
277
366
 
278
367
  class InputKafkaAuthentication(BaseModel):
@@ -280,15 +369,89 @@ class InputKafkaAuthentication(BaseModel):
280
369
 
281
370
  disabled: Optional[bool] = True
282
371
 
372
+ username: Optional[str] = None
373
+
374
+ password: Optional[str] = None
375
+
376
+ auth_type: Annotated[
377
+ Annotated[
378
+ Optional[InputKafkaAuthenticationMethod],
379
+ PlainValidator(validate_open_enum(False)),
380
+ ],
381
+ pydantic.Field(alias="authType"),
382
+ ] = InputKafkaAuthenticationMethod.MANUAL
383
+ r"""Enter credentials directly, or select a stored secret"""
384
+
385
+ credentials_secret: Annotated[
386
+ Optional[str], pydantic.Field(alias="credentialsSecret")
387
+ ] = None
388
+ r"""Select or create a secret that references your credentials"""
389
+
283
390
  mechanism: Annotated[
284
391
  Optional[InputKafkaSASLMechanism], PlainValidator(validate_open_enum(False))
285
392
  ] = InputKafkaSASLMechanism.PLAIN
286
393
 
394
+ keytab_location: Annotated[
395
+ Optional[str], pydantic.Field(alias="keytabLocation")
396
+ ] = None
397
+ r"""Location of keytab file for authentication principal"""
398
+
399
+ principal: Optional[str] = None
400
+ r"""Authentication principal, such as `kafka_user@example.com`"""
401
+
402
+ broker_service_class: Annotated[
403
+ Optional[str], pydantic.Field(alias="brokerServiceClass")
404
+ ] = None
405
+ r"""Kerberos service class for Kafka brokers, such as `kafka`"""
406
+
287
407
  oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
288
408
  False
289
409
  )
290
410
  r"""Enable OAuth authentication"""
291
411
 
412
+ token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
413
+ r"""URL of the token endpoint to use for OAuth authentication"""
414
+
415
+ client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
416
+ r"""Client ID to use for OAuth authentication"""
417
+
418
+ oauth_secret_type: Annotated[
419
+ Optional[str], pydantic.Field(alias="oauthSecretType")
420
+ ] = "secret"
421
+
422
+ client_text_secret: Annotated[
423
+ Optional[str], pydantic.Field(alias="clientTextSecret")
424
+ ] = None
425
+ r"""Select or create a stored text secret"""
426
+
427
+ oauth_params: Annotated[
428
+ Optional[List[InputKafkaOauthParam]], pydantic.Field(alias="oauthParams")
429
+ ] = None
430
+ r"""Additional fields to send to the token endpoint, such as scope or audience"""
431
+
432
+ sasl_extensions: Annotated[
433
+ Optional[List[InputKafkaSaslExtension]], pydantic.Field(alias="saslExtensions")
434
+ ] = None
435
+ r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
436
+
437
+ @field_serializer("auth_type")
438
+ def serialize_auth_type(self, value):
439
+ if isinstance(value, str):
440
+ try:
441
+ return models.InputKafkaAuthenticationMethod(value)
442
+ except ValueError:
443
+ return value
444
+ return value
445
+
446
+ @field_serializer("mechanism")
447
+ def serialize_mechanism(self, value):
448
+ if isinstance(value, str):
449
+ try:
450
+ return models.InputKafkaSASLMechanism(value)
451
+ except ValueError:
452
+ return value
453
+ return value
454
+
292
455
 
293
456
  class InputKafkaMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
294
457
  TL_SV1 = "TLSv1"
@@ -372,6 +535,24 @@ class InputKafkaTLSSettingsClientSide(BaseModel):
372
535
  pydantic.Field(alias="maxVersion"),
373
536
  ] = None
374
537
 
538
+ @field_serializer("min_version")
539
+ def serialize_min_version(self, value):
540
+ if isinstance(value, str):
541
+ try:
542
+ return models.InputKafkaMinimumTLSVersion(value)
543
+ except ValueError:
544
+ return value
545
+ return value
546
+
547
+ @field_serializer("max_version")
548
+ def serialize_max_version(self, value):
549
+ if isinstance(value, str):
550
+ try:
551
+ return models.InputKafkaMaximumTLSVersion(value)
552
+ except ValueError:
553
+ return value
554
+ return value
555
+
375
556
 
376
557
  class InputKafkaMetadatumTypedDict(TypedDict):
377
558
  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 InputKinesisPq(BaseModel):
106
107
  Optional[InputKinesisPqControls], 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.InputKinesisMode(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.InputKinesisCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class ShardIteratorStart(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  r"""Location at which to start reading a shard for the first time"""
@@ -389,3 +408,48 @@ class InputKinesis(BaseModel):
389
408
 
390
409
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
391
410
  r"""Select or create a stored secret that references your access key and secret key"""
411
+
412
+ @field_serializer("shard_iterator_type")
413
+ def serialize_shard_iterator_type(self, value):
414
+ if isinstance(value, str):
415
+ try:
416
+ return models.ShardIteratorStart(value)
417
+ except ValueError:
418
+ return value
419
+ return value
420
+
421
+ @field_serializer("payload_format")
422
+ def serialize_payload_format(self, value):
423
+ if isinstance(value, str):
424
+ try:
425
+ return models.InputKinesisRecordDataFormat(value)
426
+ except ValueError:
427
+ return value
428
+ return value
429
+
430
+ @field_serializer("load_balancing_algorithm")
431
+ def serialize_load_balancing_algorithm(self, value):
432
+ if isinstance(value, str):
433
+ try:
434
+ return models.ShardLoadBalancing(value)
435
+ except ValueError:
436
+ return value
437
+ return value
438
+
439
+ @field_serializer("aws_authentication_method")
440
+ def serialize_aws_authentication_method(self, value):
441
+ if isinstance(value, str):
442
+ try:
443
+ return models.InputKinesisAuthenticationMethod(value)
444
+ except ValueError:
445
+ return value
446
+ return value
447
+
448
+ @field_serializer("signature_version")
449
+ def serialize_signature_version(self, value):
450
+ if isinstance(value, str):
451
+ try:
452
+ return models.InputKinesisSignatureVersion(value)
453
+ except ValueError:
454
+ return value
455
+ 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 InputKubeEventsPq(BaseModel):
106
107
  Optional[InputKubeEventsPqControls], 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.InputKubeEventsMode(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.InputKubeEventsCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputKubeEventsRuleTypedDict(TypedDict):
111
130
  filter_: 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 InputKubeLogsPq(BaseModel):
106
107
  Optional[InputKubeLogsPqControls], 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.InputKubeLogsMode(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.InputKubeLogsPqCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputKubeLogsRuleTypedDict(TypedDict):
111
130
  filter_: str
@@ -174,6 +193,15 @@ class InputKubeLogsDiskSpooling(BaseModel):
174
193
  ] = InputKubeLogsPersistenceCompression.GZIP
175
194
  r"""Data compression format. Default is gzip."""
176
195
 
196
+ @field_serializer("compress")
197
+ def serialize_compress(self, value):
198
+ if isinstance(value, str):
199
+ try:
200
+ return models.InputKubeLogsPersistenceCompression(value)
201
+ except ValueError:
202
+ return value
203
+ return value
204
+
177
205
 
178
206
  class InputKubeLogsTypedDict(TypedDict):
179
207
  type: InputKubeLogsType
@@ -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 InputKubeMetricsPq(BaseModel):
106
107
  Optional[InputKubeMetricsPqControls], 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.InputKubeMetricsMode(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.InputKubeMetricsCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputKubeMetricsRuleTypedDict(TypedDict):
111
130
  filter_: str
@@ -177,6 +196,15 @@ class InputKubeMetricsPersistence(BaseModel):
177
196
  )
178
197
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/<id>"""
179
198
 
199
+ @field_serializer("compress")
200
+ def serialize_compress(self, value):
201
+ if isinstance(value, str):
202
+ try:
203
+ return models.InputKubeMetricsDataCompressionFormat(value)
204
+ except ValueError:
205
+ return value
206
+ return value
207
+
180
208
 
181
209
  class InputKubeMetricsTypedDict(TypedDict):
182
210
  type: InputKubeMetricsType
@@ -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 InputLokiPq(BaseModel):
106
107
  Optional[InputLokiPqControls], 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.InputLokiMode(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.InputLokiCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
109
128
 
110
129
  class InputLokiMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
111
130
  TL_SV1 = "TLSv1"
@@ -123,6 +142,12 @@ class InputLokiMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
123
142
 
124
143
  class InputLokiTLSSettingsServerSideTypedDict(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 InputLokiTLSSettingsServerSideTypedDict(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[InputLokiMinimumTLSVersion]
141
162
  max_version: NotRequired[InputLokiMaximumTLSVersion]
142
163
 
@@ -144,6 +165,19 @@ class InputLokiTLSSettingsServerSideTypedDict(TypedDict):
144
165
  class InputLokiTLSSettingsServerSide(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 InputLokiTLSSettingsServerSide(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[InputLokiMinimumTLSVersion],
@@ -188,6 +211,24 @@ class InputLokiTLSSettingsServerSide(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.InputLokiMinimumTLSVersion(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.InputLokiMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
191
232
 
192
233
  class InputLokiAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
193
234
  r"""Loki logs authentication type"""
@@ -483,3 +524,12 @@ class InputLoki(BaseModel):
483
524
  Optional[List[InputLokiOauthHeader]], pydantic.Field(alias="oauthHeaders")
484
525
  ] = None
485
526
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
527
+
528
+ @field_serializer("auth_type")
529
+ def serialize_auth_type(self, value):
530
+ if isinstance(value, str):
531
+ try:
532
+ return models.InputLokiAuthenticationType(value)
533
+ except ValueError:
534
+ return value
535
+ return value