cribl-control-plane 0.0.15__py3-none-any.whl → 0.0.17__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 (144) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/{outputs.py → destinations.py} +69 -71
  3. cribl_control_plane/errors/healthstatus_error.py +2 -8
  4. cribl_control_plane/models/__init__.py +5347 -115
  5. cribl_control_plane/models/createinputop.py +18216 -2
  6. cribl_control_plane/models/createoutputop.py +18417 -4
  7. cribl_control_plane/models/createoutputtestbyidop.py +2 -2
  8. cribl_control_plane/models/deleteoutputbyidop.py +2 -2
  9. cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
  10. cribl_control_plane/models/getoutputbyidop.py +2 -2
  11. cribl_control_plane/models/getoutputpqbyidop.py +2 -2
  12. cribl_control_plane/models/getoutputsamplesbyidop.py +2 -2
  13. cribl_control_plane/models/healthstatus.py +4 -7
  14. cribl_control_plane/models/inputappscope.py +16 -36
  15. cribl_control_plane/models/inputazureblob.py +8 -19
  16. cribl_control_plane/models/inputcollection.py +6 -15
  17. cribl_control_plane/models/inputconfluentcloud.py +22 -45
  18. cribl_control_plane/models/inputcribl.py +6 -13
  19. cribl_control_plane/models/inputcriblhttp.py +12 -27
  20. cribl_control_plane/models/inputcribllakehttp.py +14 -26
  21. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  22. cribl_control_plane/models/inputcribltcp.py +12 -27
  23. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  24. cribl_control_plane/models/inputdatadogagent.py +12 -28
  25. cribl_control_plane/models/inputdatagen.py +6 -13
  26. cribl_control_plane/models/inputedgeprometheus.py +33 -64
  27. cribl_control_plane/models/inputelastic.py +18 -44
  28. cribl_control_plane/models/inputeventhub.py +10 -19
  29. cribl_control_plane/models/inputexec.py +8 -16
  30. cribl_control_plane/models/inputfile.py +8 -17
  31. cribl_control_plane/models/inputfirehose.py +12 -27
  32. cribl_control_plane/models/inputgooglepubsub.py +10 -23
  33. cribl_control_plane/models/inputgrafana_union.py +39 -81
  34. cribl_control_plane/models/inputhttp.py +12 -27
  35. cribl_control_plane/models/inputhttpraw.py +12 -27
  36. cribl_control_plane/models/inputjournalfiles.py +8 -16
  37. cribl_control_plane/models/inputkafka.py +18 -45
  38. cribl_control_plane/models/inputkinesis.py +18 -42
  39. cribl_control_plane/models/inputkubeevents.py +6 -13
  40. cribl_control_plane/models/inputkubelogs.py +10 -18
  41. cribl_control_plane/models/inputkubemetrics.py +10 -18
  42. cribl_control_plane/models/inputloki.py +14 -33
  43. cribl_control_plane/models/inputmetrics.py +10 -25
  44. cribl_control_plane/models/inputmodeldriventelemetry.py +14 -33
  45. cribl_control_plane/models/inputmsk.py +20 -52
  46. cribl_control_plane/models/inputnetflow.py +8 -15
  47. cribl_control_plane/models/inputoffice365mgmt.py +18 -37
  48. cribl_control_plane/models/inputoffice365msgtrace.py +20 -41
  49. cribl_control_plane/models/inputoffice365service.py +20 -41
  50. cribl_control_plane/models/inputopentelemetry.py +20 -42
  51. cribl_control_plane/models/inputprometheus.py +22 -54
  52. cribl_control_plane/models/inputprometheusrw.py +14 -34
  53. cribl_control_plane/models/inputrawudp.py +8 -15
  54. cribl_control_plane/models/inputs3.py +10 -23
  55. cribl_control_plane/models/inputs3inventory.py +12 -28
  56. cribl_control_plane/models/inputsecuritylake.py +12 -29
  57. cribl_control_plane/models/inputsnmp.py +10 -20
  58. cribl_control_plane/models/inputsplunk.py +16 -37
  59. cribl_control_plane/models/inputsplunkhec.py +14 -33
  60. cribl_control_plane/models/inputsplunksearch.py +18 -37
  61. cribl_control_plane/models/inputsqs.py +14 -31
  62. cribl_control_plane/models/inputsyslog_union.py +29 -53
  63. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  64. cribl_control_plane/models/inputsystemstate.py +10 -18
  65. cribl_control_plane/models/inputtcp.py +14 -33
  66. cribl_control_plane/models/inputtcpjson.py +14 -33
  67. cribl_control_plane/models/inputwef.py +22 -45
  68. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  69. cribl_control_plane/models/inputwineventlogs.py +12 -22
  70. cribl_control_plane/models/inputwiz.py +12 -25
  71. cribl_control_plane/models/inputzscalerhec.py +14 -33
  72. cribl_control_plane/models/listoutputop.py +2 -2
  73. cribl_control_plane/models/output.py +3 -6
  74. cribl_control_plane/models/outputazureblob.py +20 -52
  75. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  76. cribl_control_plane/models/outputazureeventhub.py +20 -44
  77. cribl_control_plane/models/outputazurelogs.py +14 -37
  78. cribl_control_plane/models/outputclickhouse.py +22 -59
  79. cribl_control_plane/models/outputcloudwatch.py +12 -33
  80. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  81. cribl_control_plane/models/outputcriblhttp.py +18 -46
  82. cribl_control_plane/models/outputcribllake.py +18 -48
  83. cribl_control_plane/models/outputcribltcp.py +20 -47
  84. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  85. cribl_control_plane/models/outputdatadog.py +22 -50
  86. cribl_control_plane/models/outputdataset.py +20 -48
  87. cribl_control_plane/models/outputdefault.py +2 -5
  88. cribl_control_plane/models/outputdevnull.py +2 -5
  89. cribl_control_plane/models/outputdiskspool.py +4 -9
  90. cribl_control_plane/models/outputdls3.py +26 -72
  91. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  92. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  93. cribl_control_plane/models/outputelastic.py +20 -45
  94. cribl_control_plane/models/outputelasticcloud.py +14 -40
  95. cribl_control_plane/models/outputexabeam.py +12 -33
  96. cribl_control_plane/models/outputfilesystem.py +16 -41
  97. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  98. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  99. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  100. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  101. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  102. cribl_control_plane/models/outputgraphite.py +16 -35
  103. cribl_control_plane/models/outputhoneycomb.py +14 -37
  104. cribl_control_plane/models/outputhumiohec.py +18 -47
  105. cribl_control_plane/models/outputinfluxdb.py +18 -44
  106. cribl_control_plane/models/outputkafka.py +28 -73
  107. cribl_control_plane/models/outputkinesis.py +18 -44
  108. cribl_control_plane/models/outputloki.py +18 -43
  109. cribl_control_plane/models/outputminio.py +26 -69
  110. cribl_control_plane/models/outputmsk.py +30 -81
  111. cribl_control_plane/models/outputnetflow.py +2 -5
  112. cribl_control_plane/models/outputnewrelic.py +20 -45
  113. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  114. cribl_control_plane/models/outputopentelemetry.py +28 -69
  115. cribl_control_plane/models/outputprometheus.py +14 -37
  116. cribl_control_plane/models/outputring.py +10 -21
  117. cribl_control_plane/models/outputrouter.py +2 -5
  118. cribl_control_plane/models/outputs3.py +28 -72
  119. cribl_control_plane/models/outputsecuritylake.py +20 -56
  120. cribl_control_plane/models/outputsentinel.py +20 -49
  121. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  122. cribl_control_plane/models/outputservicenow.py +26 -64
  123. cribl_control_plane/models/outputsignalfx.py +16 -39
  124. cribl_control_plane/models/outputsnmp.py +2 -5
  125. cribl_control_plane/models/outputsns.py +16 -40
  126. cribl_control_plane/models/outputsplunk.py +26 -64
  127. cribl_control_plane/models/outputsplunkhec.py +14 -37
  128. cribl_control_plane/models/outputsplunklb.py +36 -83
  129. cribl_control_plane/models/outputsqs.py +18 -45
  130. cribl_control_plane/models/outputstatsd.py +16 -34
  131. cribl_control_plane/models/outputstatsdext.py +14 -33
  132. cribl_control_plane/models/outputsumologic.py +14 -37
  133. cribl_control_plane/models/outputsyslog.py +26 -60
  134. cribl_control_plane/models/outputtcpjson.py +22 -54
  135. cribl_control_plane/models/outputwavefront.py +14 -37
  136. cribl_control_plane/models/outputwebhook.py +24 -60
  137. cribl_control_plane/models/outputxsiam.py +16 -37
  138. cribl_control_plane/models/updateoutputbyidop.py +4 -4
  139. cribl_control_plane/sdk.py +3 -5
  140. cribl_control_plane/sources.py +8 -10
  141. {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +13 -13
  142. cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
  143. cribl_control_plane-0.0.15.dist-info/RECORD +0 -215
  144. {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
@@ -1,21 +1,18 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class OutputSecurityLakeType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputSecurityLakeType(str, Enum):
15
12
  SECURITY_LAKE = "security_lake"
16
13
 
17
14
 
18
- class OutputSecurityLakeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputSecurityLakeAuthenticationMethod(str, Enum):
19
16
  r"""AWS authentication method. Choose Auto to use IAM roles."""
20
17
 
21
18
  AUTO = "auto"
@@ -23,14 +20,14 @@ class OutputSecurityLakeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnum
23
20
  SECRET = "secret"
24
21
 
25
22
 
26
- class OutputSecurityLakeSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
23
+ class OutputSecurityLakeSignatureVersion(str, Enum):
27
24
  r"""Signature version to use for signing Amazon Security Lake requests"""
28
25
 
29
26
  V2 = "v2"
30
27
  V4 = "v4"
31
28
 
32
29
 
33
- class OutputSecurityLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
30
+ class OutputSecurityLakeObjectACL(str, Enum):
34
31
  r"""Object ACL to assign to uploaded objects"""
35
32
 
36
33
  PRIVATE = "private"
@@ -42,7 +39,7 @@ class OutputSecurityLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
42
39
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
43
40
 
44
41
 
45
- class OutputSecurityLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
42
+ class OutputSecurityLakeStorageClass(str, Enum):
46
43
  r"""Storage class to select for uploaded objects"""
47
44
 
48
45
  STANDARD = "STANDARD"
@@ -55,28 +52,26 @@ class OutputSecurityLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
55
52
  DEEP_ARCHIVE = "DEEP_ARCHIVE"
56
53
 
57
54
 
58
- class OutputSecurityLakeServerSideEncryptionForUploadedObjects(
59
- str, Enum, metaclass=utils.OpenEnumMeta
60
- ):
55
+ class OutputSecurityLakeServerSideEncryptionForUploadedObjects(str, Enum):
61
56
  AES256 = "AES256"
62
57
  AWS_KMS = "aws:kms"
63
58
 
64
59
 
65
- class OutputSecurityLakeBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
60
+ class OutputSecurityLakeBackpressureBehavior(str, Enum):
66
61
  r"""How to handle events when all receivers are exerting backpressure"""
67
62
 
68
63
  BLOCK = "block"
69
64
  DROP = "drop"
70
65
 
71
66
 
72
- class OutputSecurityLakeDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
67
+ class OutputSecurityLakeDiskSpaceProtection(str, Enum):
73
68
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
74
69
 
75
70
  BLOCK = "block"
76
71
  DROP = "drop"
77
72
 
78
73
 
79
- class OutputSecurityLakeParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
74
+ class OutputSecurityLakeParquetVersion(str, Enum):
80
75
  r"""Determines which data types are supported and how they are represented"""
81
76
 
82
77
  PARQUET_1_0 = "PARQUET_1_0"
@@ -84,7 +79,7 @@ class OutputSecurityLakeParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
84
79
  PARQUET_2_6 = "PARQUET_2_6"
85
80
 
86
81
 
87
- class OutputSecurityLakeDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
82
+ class OutputSecurityLakeDataPageVersion(str, Enum):
88
83
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
89
84
 
90
85
  DATA_PAGE_V1 = "DATA_PAGE_V1"
@@ -236,9 +231,7 @@ class OutputSecurityLake(BaseModel):
236
231
  id: Optional[str] = None
237
232
  r"""Unique ID for this output"""
238
233
 
239
- type: Annotated[
240
- Optional[OutputSecurityLakeType], PlainValidator(validate_open_enum(False))
241
- ] = None
234
+ type: Optional[OutputSecurityLakeType] = None
242
235
 
243
236
  pipeline: Optional[str] = None
244
237
  r"""Pipeline to process data before sending out to this output"""
@@ -259,10 +252,7 @@ class OutputSecurityLake(BaseModel):
259
252
  )
260
253
 
261
254
  aws_authentication_method: Annotated[
262
- Annotated[
263
- Optional[OutputSecurityLakeAuthenticationMethod],
264
- PlainValidator(validate_open_enum(False)),
265
- ],
255
+ Optional[OutputSecurityLakeAuthenticationMethod],
266
256
  pydantic.Field(alias="awsAuthenticationMethod"),
267
257
  ] = OutputSecurityLakeAuthenticationMethod.AUTO
268
258
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -271,10 +261,7 @@ class OutputSecurityLake(BaseModel):
271
261
  r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint."""
272
262
 
273
263
  signature_version: Annotated[
274
- Annotated[
275
- Optional[OutputSecurityLakeSignatureVersion],
276
- PlainValidator(validate_open_enum(False)),
277
- ],
264
+ Optional[OutputSecurityLakeSignatureVersion],
278
265
  pydantic.Field(alias="signatureVersion"),
279
266
  ] = OutputSecurityLakeSignatureVersion.V4
280
267
  r"""Signature version to use for signing Amazon Security Lake requests"""
@@ -315,28 +302,17 @@ class OutputSecurityLake(BaseModel):
315
302
  r"""Add the Output ID value to staging location"""
316
303
 
317
304
  object_acl: Annotated[
318
- Annotated[
319
- Optional[OutputSecurityLakeObjectACL],
320
- PlainValidator(validate_open_enum(False)),
321
- ],
322
- pydantic.Field(alias="objectACL"),
305
+ Optional[OutputSecurityLakeObjectACL], pydantic.Field(alias="objectACL")
323
306
  ] = OutputSecurityLakeObjectACL.PRIVATE
324
307
  r"""Object ACL to assign to uploaded objects"""
325
308
 
326
309
  storage_class: Annotated[
327
- Annotated[
328
- Optional[OutputSecurityLakeStorageClass],
329
- PlainValidator(validate_open_enum(False)),
330
- ],
331
- pydantic.Field(alias="storageClass"),
310
+ Optional[OutputSecurityLakeStorageClass], pydantic.Field(alias="storageClass")
332
311
  ] = None
333
312
  r"""Storage class to select for uploaded objects"""
334
313
 
335
314
  server_side_encryption: Annotated[
336
- Annotated[
337
- Optional[OutputSecurityLakeServerSideEncryptionForUploadedObjects],
338
- PlainValidator(validate_open_enum(False)),
339
- ],
315
+ Optional[OutputSecurityLakeServerSideEncryptionForUploadedObjects],
340
316
  pydantic.Field(alias="serverSideEncryption"),
341
317
  ] = None
342
318
 
@@ -372,10 +348,7 @@ class OutputSecurityLake(BaseModel):
372
348
  r"""Buffer size used to write to a file"""
373
349
 
374
350
  on_backpressure: Annotated[
375
- Annotated[
376
- Optional[OutputSecurityLakeBackpressureBehavior],
377
- PlainValidator(validate_open_enum(False)),
378
- ],
351
+ Optional[OutputSecurityLakeBackpressureBehavior],
379
352
  pydantic.Field(alias="onBackpressure"),
380
353
  ] = OutputSecurityLakeBackpressureBehavior.BLOCK
381
354
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -386,10 +359,7 @@ class OutputSecurityLake(BaseModel):
386
359
  r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
387
360
 
388
361
  on_disk_full_backpressure: Annotated[
389
- Annotated[
390
- Optional[OutputSecurityLakeDiskSpaceProtection],
391
- PlainValidator(validate_open_enum(False)),
392
- ],
362
+ Optional[OutputSecurityLakeDiskSpaceProtection],
393
363
  pydantic.Field(alias="onDiskFullBackpressure"),
394
364
  ] = OutputSecurityLakeDiskSpaceProtection.BLOCK
395
365
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
@@ -425,19 +395,13 @@ class OutputSecurityLake(BaseModel):
425
395
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
426
396
 
427
397
  parquet_version: Annotated[
428
- Annotated[
429
- Optional[OutputSecurityLakeParquetVersion],
430
- PlainValidator(validate_open_enum(False)),
431
- ],
398
+ Optional[OutputSecurityLakeParquetVersion],
432
399
  pydantic.Field(alias="parquetVersion"),
433
400
  ] = OutputSecurityLakeParquetVersion.PARQUET_2_6
434
401
  r"""Determines which data types are supported and how they are represented"""
435
402
 
436
403
  parquet_data_page_version: Annotated[
437
- Annotated[
438
- Optional[OutputSecurityLakeDataPageVersion],
439
- PlainValidator(validate_open_enum(False)),
440
- ],
404
+ Optional[OutputSecurityLakeDataPageVersion],
441
405
  pydantic.Field(alias="parquetDataPageVersion"),
442
406
  ] = OutputSecurityLakeDataPageVersion.DATA_PAGE_V2
443
407
  r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
@@ -1,17 +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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class OutputSentinelType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputSentinelType(str, Enum):
15
12
  SENTINEL = "sentinel"
16
13
 
17
14
 
@@ -26,7 +23,7 @@ class OutputSentinelExtraHTTPHeader(BaseModel):
26
23
  name: Optional[str] = None
27
24
 
28
25
 
29
- class OutputSentinelFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class OutputSentinelFailedRequestLoggingMode(str, Enum):
30
27
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
31
28
 
32
29
  PAYLOAD = "payload"
@@ -88,7 +85,7 @@ class OutputSentinelTimeoutRetrySettings(BaseModel):
88
85
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
89
86
 
90
87
 
91
- class OutputSentinelBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class OutputSentinelBackpressureBehavior(str, Enum):
92
89
  r"""How to handle events when all receivers are exerting backpressure"""
93
90
 
94
91
  BLOCK = "block"
@@ -96,39 +93,39 @@ class OutputSentinelBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
96
93
  QUEUE = "queue"
97
94
 
98
95
 
99
- class AuthType(str, Enum, metaclass=utils.OpenEnumMeta):
96
+ class AuthType(str, Enum):
100
97
  OAUTH = "oauth"
101
98
 
102
99
 
103
- class EndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta):
100
+ class EndpointConfiguration(str, Enum):
104
101
  r"""Enter the data collection endpoint URL or the individual ID"""
105
102
 
106
103
  URL = "url"
107
104
  ID = "ID"
108
105
 
109
106
 
110
- class OutputSentinelFormat(str, Enum, metaclass=utils.OpenEnumMeta):
107
+ class OutputSentinelFormat(str, Enum):
111
108
  NDJSON = "ndjson"
112
109
  JSON_ARRAY = "json_array"
113
110
  CUSTOM = "custom"
114
111
  ADVANCED = "advanced"
115
112
 
116
113
 
117
- class OutputSentinelCompression(str, Enum, metaclass=utils.OpenEnumMeta):
114
+ class OutputSentinelCompression(str, Enum):
118
115
  r"""Codec to use to compress the persisted data"""
119
116
 
120
117
  NONE = "none"
121
118
  GZIP = "gzip"
122
119
 
123
120
 
124
- class OutputSentinelQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
121
+ class OutputSentinelQueueFullBehavior(str, Enum):
125
122
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
126
123
 
127
124
  BLOCK = "block"
128
125
  DROP = "drop"
129
126
 
130
127
 
131
- class OutputSentinelMode(str, Enum, metaclass=utils.OpenEnumMeta):
128
+ class OutputSentinelMode(str, Enum):
132
129
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
133
130
 
134
131
  ERROR = "error"
@@ -259,9 +256,7 @@ class OutputSentinel(BaseModel):
259
256
  id: Optional[str] = None
260
257
  r"""Unique ID for this output"""
261
258
 
262
- type: Annotated[
263
- Optional[OutputSentinelType], PlainValidator(validate_open_enum(False))
264
- ] = None
259
+ type: Optional[OutputSentinelType] = None
265
260
 
266
261
  pipeline: Optional[str] = None
267
262
  r"""Pipeline to process data before sending out to this output"""
@@ -324,10 +319,7 @@ class OutputSentinel(BaseModel):
324
319
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
325
320
 
326
321
  failed_request_logging_mode: Annotated[
327
- Annotated[
328
- Optional[OutputSentinelFailedRequestLoggingMode],
329
- PlainValidator(validate_open_enum(False)),
330
- ],
322
+ Optional[OutputSentinelFailedRequestLoggingMode],
331
323
  pydantic.Field(alias="failedRequestLoggingMode"),
332
324
  ] = OutputSentinelFailedRequestLoggingMode.NONE
333
325
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -354,26 +346,18 @@ class OutputSentinel(BaseModel):
354
346
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
355
347
 
356
348
  on_backpressure: Annotated[
357
- Annotated[
358
- Optional[OutputSentinelBackpressureBehavior],
359
- PlainValidator(validate_open_enum(False)),
360
- ],
349
+ Optional[OutputSentinelBackpressureBehavior],
361
350
  pydantic.Field(alias="onBackpressure"),
362
351
  ] = OutputSentinelBackpressureBehavior.BLOCK
363
352
  r"""How to handle events when all receivers are exerting backpressure"""
364
353
 
365
- auth_type: Annotated[
366
- Annotated[Optional[AuthType], PlainValidator(validate_open_enum(False))],
367
- pydantic.Field(alias="authType"),
368
- ] = None
354
+ auth_type: Annotated[Optional[AuthType], pydantic.Field(alias="authType")] = None
369
355
 
370
356
  scope: Optional[str] = "https://monitor.azure.com/.default"
371
357
  r"""Scope to pass in the OAuth request"""
372
358
 
373
359
  endpoint_url_configuration: Annotated[
374
- Annotated[
375
- Optional[EndpointConfiguration], PlainValidator(validate_open_enum(False))
376
- ],
360
+ Optional[EndpointConfiguration],
377
361
  pydantic.Field(alias="endpointURLConfiguration"),
378
362
  ] = EndpointConfiguration.URL
379
363
  r"""Enter the data collection endpoint URL or the individual ID"""
@@ -386,10 +370,7 @@ class OutputSentinel(BaseModel):
386
370
  description: Optional[str] = None
387
371
 
388
372
  format_: Annotated[
389
- Annotated[
390
- Optional[OutputSentinelFormat], PlainValidator(validate_open_enum(False))
391
- ],
392
- pydantic.Field(alias="format"),
373
+ Optional[OutputSentinelFormat], pydantic.Field(alias="format")
393
374
  ] = None
394
375
 
395
376
  custom_source_expression: Annotated[
@@ -446,29 +427,19 @@ class OutputSentinel(BaseModel):
446
427
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
447
428
 
448
429
  pq_compress: Annotated[
449
- Annotated[
450
- Optional[OutputSentinelCompression],
451
- PlainValidator(validate_open_enum(False)),
452
- ],
453
- pydantic.Field(alias="pqCompress"),
430
+ Optional[OutputSentinelCompression], pydantic.Field(alias="pqCompress")
454
431
  ] = OutputSentinelCompression.NONE
455
432
  r"""Codec to use to compress the persisted data"""
456
433
 
457
434
  pq_on_backpressure: Annotated[
458
- Annotated[
459
- Optional[OutputSentinelQueueFullBehavior],
460
- PlainValidator(validate_open_enum(False)),
461
- ],
435
+ Optional[OutputSentinelQueueFullBehavior],
462
436
  pydantic.Field(alias="pqOnBackpressure"),
463
437
  ] = OutputSentinelQueueFullBehavior.BLOCK
464
438
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
465
439
 
466
- pq_mode: Annotated[
467
- Annotated[
468
- Optional[OutputSentinelMode], PlainValidator(validate_open_enum(False))
469
- ],
470
- pydantic.Field(alias="pqMode"),
471
- ] = OutputSentinelMode.ERROR
440
+ pq_mode: Annotated[Optional[OutputSentinelMode], pydantic.Field(alias="pqMode")] = (
441
+ OutputSentinelMode.ERROR
442
+ )
472
443
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
473
444
 
474
445
  pq_controls: Annotated[
@@ -1,21 +1,18 @@
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
5
4
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
5
  from enum import Enum
8
6
  import pydantic
9
- from pydantic.functional_validators import PlainValidator
10
7
  from typing import List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class OutputSentinelOneAiSiemType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class OutputSentinelOneAiSiemType(str, Enum):
15
12
  SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem"
16
13
 
17
14
 
18
- class OutputSentinelOneAiSiemRegion(str, Enum, metaclass=utils.OpenEnumMeta):
15
+ class OutputSentinelOneAiSiemRegion(str, Enum):
19
16
  r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
20
17
 
21
18
  US = "US"
@@ -27,7 +24,7 @@ class OutputSentinelOneAiSiemRegion(str, Enum, metaclass=utils.OpenEnumMeta):
27
24
  CUSTOM = "Custom"
28
25
 
29
26
 
30
- class AISIEMEndpointPath(str, Enum, metaclass=utils.OpenEnumMeta):
27
+ class AISIEMEndpointPath(str, Enum):
31
28
  r"""Regional endpoint used to send events to, such as /services/collector/event or /services/collector/raw"""
32
29
 
33
30
  ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event"
@@ -45,9 +42,7 @@ class OutputSentinelOneAiSiemExtraHTTPHeader(BaseModel):
45
42
  name: Optional[str] = None
46
43
 
47
44
 
48
- class OutputSentinelOneAiSiemFailedRequestLoggingMode(
49
- str, Enum, metaclass=utils.OpenEnumMeta
50
- ):
45
+ class OutputSentinelOneAiSiemFailedRequestLoggingMode(str, Enum):
51
46
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
52
47
 
53
48
  PAYLOAD = "payload"
@@ -55,9 +50,7 @@ class OutputSentinelOneAiSiemFailedRequestLoggingMode(
55
50
  NONE = "none"
56
51
 
57
52
 
58
- class OutputSentinelOneAiSiemAuthenticationMethod(
59
- str, Enum, metaclass=utils.OpenEnumMeta
60
- ):
53
+ class OutputSentinelOneAiSiemAuthenticationMethod(str, Enum):
61
54
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
62
55
 
63
56
  MANUAL = "manual"
@@ -118,9 +111,7 @@ class OutputSentinelOneAiSiemTimeoutRetrySettings(BaseModel):
118
111
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
119
112
 
120
113
 
121
- class OutputSentinelOneAiSiemBackpressureBehavior(
122
- str, Enum, metaclass=utils.OpenEnumMeta
123
- ):
114
+ class OutputSentinelOneAiSiemBackpressureBehavior(str, Enum):
124
115
  r"""How to handle events when all receivers are exerting backpressure"""
125
116
 
126
117
  BLOCK = "block"
@@ -128,21 +119,21 @@ class OutputSentinelOneAiSiemBackpressureBehavior(
128
119
  QUEUE = "queue"
129
120
 
130
121
 
131
- class OutputSentinelOneAiSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
122
+ class OutputSentinelOneAiSiemCompression(str, Enum):
132
123
  r"""Codec to use to compress the persisted data"""
133
124
 
134
125
  NONE = "none"
135
126
  GZIP = "gzip"
136
127
 
137
128
 
138
- class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
129
+ class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum):
139
130
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
140
131
 
141
132
  BLOCK = "block"
142
133
  DROP = "drop"
143
134
 
144
135
 
145
- class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
136
+ class OutputSentinelOneAiSiemMode(str, Enum):
146
137
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
147
138
 
148
139
  ERROR = "error"
@@ -268,9 +259,7 @@ class OutputSentinelOneAiSiem(BaseModel):
268
259
  id: Optional[str] = None
269
260
  r"""Unique ID for this output"""
270
261
 
271
- type: Annotated[
272
- Optional[OutputSentinelOneAiSiemType], PlainValidator(validate_open_enum(False))
273
- ] = None
262
+ type: Optional[OutputSentinelOneAiSiemType] = None
274
263
 
275
264
  pipeline: Optional[str] = None
276
265
  r"""Pipeline to process data before sending out to this output"""
@@ -286,15 +275,12 @@ class OutputSentinelOneAiSiem(BaseModel):
286
275
  streamtags: Optional[List[str]] = None
287
276
  r"""Tags for filtering and grouping in @{product}"""
288
277
 
289
- region: Annotated[
290
- Optional[OutputSentinelOneAiSiemRegion],
291
- PlainValidator(validate_open_enum(False)),
292
- ] = OutputSentinelOneAiSiemRegion.US
278
+ region: Optional[OutputSentinelOneAiSiemRegion] = OutputSentinelOneAiSiemRegion.US
293
279
  r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
294
280
 
295
- endpoint: Annotated[
296
- Optional[AISIEMEndpointPath], PlainValidator(validate_open_enum(False))
297
- ] = AISIEMEndpointPath.ROOT_SERVICES_COLLECTOR_EVENT
281
+ endpoint: Optional[AISIEMEndpointPath] = (
282
+ AISIEMEndpointPath.ROOT_SERVICES_COLLECTOR_EVENT
283
+ )
298
284
  r"""Regional endpoint used to send events to, such as /services/collector/event or /services/collector/raw"""
299
285
 
300
286
  concurrency: Optional[float] = 5
@@ -336,10 +322,7 @@ class OutputSentinelOneAiSiem(BaseModel):
336
322
  r"""Headers to add to all events"""
337
323
 
338
324
  failed_request_logging_mode: Annotated[
339
- Annotated[
340
- Optional[OutputSentinelOneAiSiemFailedRequestLoggingMode],
341
- PlainValidator(validate_open_enum(False)),
342
- ],
325
+ Optional[OutputSentinelOneAiSiemFailedRequestLoggingMode],
343
326
  pydantic.Field(alias="failedRequestLoggingMode"),
344
327
  ] = OutputSentinelOneAiSiemFailedRequestLoggingMode.NONE
345
328
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -350,10 +333,7 @@ class OutputSentinelOneAiSiem(BaseModel):
350
333
  r"""List of headers that are safe to log in plain text"""
351
334
 
352
335
  auth_type: Annotated[
353
- Annotated[
354
- Optional[OutputSentinelOneAiSiemAuthenticationMethod],
355
- PlainValidator(validate_open_enum(False)),
356
- ],
336
+ Optional[OutputSentinelOneAiSiemAuthenticationMethod],
357
337
  pydantic.Field(alias="authType"),
358
338
  ] = OutputSentinelOneAiSiemAuthenticationMethod.MANUAL
359
339
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -375,10 +355,7 @@ class OutputSentinelOneAiSiem(BaseModel):
375
355
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
376
356
 
377
357
  on_backpressure: Annotated[
378
- Annotated[
379
- Optional[OutputSentinelOneAiSiemBackpressureBehavior],
380
- PlainValidator(validate_open_enum(False)),
381
- ],
358
+ Optional[OutputSentinelOneAiSiemBackpressureBehavior],
382
359
  pydantic.Field(alias="onBackpressure"),
383
360
  ] = OutputSentinelOneAiSiemBackpressureBehavior.BLOCK
384
361
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -474,29 +451,18 @@ class OutputSentinelOneAiSiem(BaseModel):
474
451
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
475
452
 
476
453
  pq_compress: Annotated[
477
- Annotated[
478
- Optional[OutputSentinelOneAiSiemCompression],
479
- PlainValidator(validate_open_enum(False)),
480
- ],
481
- pydantic.Field(alias="pqCompress"),
454
+ Optional[OutputSentinelOneAiSiemCompression], pydantic.Field(alias="pqCompress")
482
455
  ] = OutputSentinelOneAiSiemCompression.NONE
483
456
  r"""Codec to use to compress the persisted data"""
484
457
 
485
458
  pq_on_backpressure: Annotated[
486
- Annotated[
487
- Optional[OutputSentinelOneAiSiemQueueFullBehavior],
488
- PlainValidator(validate_open_enum(False)),
489
- ],
459
+ Optional[OutputSentinelOneAiSiemQueueFullBehavior],
490
460
  pydantic.Field(alias="pqOnBackpressure"),
491
461
  ] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
492
462
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
493
463
 
494
464
  pq_mode: Annotated[
495
- Annotated[
496
- Optional[OutputSentinelOneAiSiemMode],
497
- PlainValidator(validate_open_enum(False)),
498
- ],
499
- pydantic.Field(alias="pqMode"),
465
+ Optional[OutputSentinelOneAiSiemMode], pydantic.Field(alias="pqMode")
500
466
  ] = OutputSentinelOneAiSiemMode.ERROR
501
467
  r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
502
468