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,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 Any, List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class InputOpenTelemetryType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputOpenTelemetryType(str, Enum):
15
12
  OPEN_TELEMETRY = "open_telemetry"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputOpenTelemetryConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOpenTelemetryMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOpenTelemetryMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputOpenTelemetryCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOpenTelemetryCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputOpenTelemetryPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputOpenTelemetryPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputOpenTelemetryMode], PlainValidator(validate_open_enum(False))
63
- ] = InputOpenTelemetryMode.ALWAYS
58
+ mode: Optional[InputOpenTelemetryMode] = InputOpenTelemetryMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,21 +79,20 @@ class InputOpenTelemetryPq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputOpenTelemetryCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputOpenTelemetryCompression.NONE
82
+ compress: Optional[InputOpenTelemetryCompression] = (
83
+ InputOpenTelemetryCompression.NONE
84
+ )
91
85
  r"""Codec to use to compress the persisted data"""
92
86
 
93
87
 
94
- class InputOpenTelemetryMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class InputOpenTelemetryMinimumTLSVersion(str, Enum):
95
89
  TL_SV1 = "TLSv1"
96
90
  TL_SV1_1 = "TLSv1.1"
97
91
  TL_SV1_2 = "TLSv1.2"
98
92
  TL_SV1_3 = "TLSv1.3"
99
93
 
100
94
 
101
- class InputOpenTelemetryMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
95
+ class InputOpenTelemetryMaximumTLSVersion(str, Enum):
102
96
  TL_SV1 = "TLSv1"
103
97
  TL_SV1_1 = "TLSv1.1"
104
98
  TL_SV1_2 = "TLSv1.2"
@@ -157,37 +151,31 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
157
151
  ] = None
158
152
 
159
153
  min_version: Annotated[
160
- Annotated[
161
- Optional[InputOpenTelemetryMinimumTLSVersion],
162
- PlainValidator(validate_open_enum(False)),
163
- ],
154
+ Optional[InputOpenTelemetryMinimumTLSVersion],
164
155
  pydantic.Field(alias="minVersion"),
165
156
  ] = None
166
157
 
167
158
  max_version: Annotated[
168
- Annotated[
169
- Optional[InputOpenTelemetryMaximumTLSVersion],
170
- PlainValidator(validate_open_enum(False)),
171
- ],
159
+ Optional[InputOpenTelemetryMaximumTLSVersion],
172
160
  pydantic.Field(alias="maxVersion"),
173
161
  ] = None
174
162
 
175
163
 
176
- class InputOpenTelemetryProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
164
+ class InputOpenTelemetryProtocol(str, Enum):
177
165
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
178
166
 
179
167
  GRPC = "grpc"
180
168
  HTTP = "http"
181
169
 
182
170
 
183
- class InputOpenTelemetryOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
171
+ class InputOpenTelemetryOTLPVersion(str, Enum):
184
172
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
185
173
 
186
174
  ZERO_DOT_10_DOT_0 = "0.10.0"
187
175
  ONE_DOT_3_DOT_1 = "1.3.1"
188
176
 
189
177
 
190
- class InputOpenTelemetryAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
178
+ class InputOpenTelemetryAuthenticationType(str, Enum):
191
179
  r"""OpenTelemetry authentication type"""
192
180
 
193
181
  NONE = "none"
@@ -242,9 +230,9 @@ class InputOpenTelemetryOauthHeader(BaseModel):
242
230
 
243
231
 
244
232
  class InputOpenTelemetryTypedDict(TypedDict):
245
- type: InputOpenTelemetryType
246
233
  id: NotRequired[str]
247
234
  r"""Unique ID for this input"""
235
+ type: NotRequired[InputOpenTelemetryType]
248
236
  disabled: NotRequired[bool]
249
237
  pipeline: NotRequired[str]
250
238
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -327,11 +315,11 @@ class InputOpenTelemetryTypedDict(TypedDict):
327
315
 
328
316
 
329
317
  class InputOpenTelemetry(BaseModel):
330
- type: Annotated[InputOpenTelemetryType, PlainValidator(validate_open_enum(False))]
331
-
332
318
  id: Optional[str] = None
333
319
  r"""Unique ID for this input"""
334
320
 
321
+ type: Optional[InputOpenTelemetryType] = None
322
+
335
323
  disabled: Optional[bool] = False
336
324
 
337
325
  pipeline: Optional[str] = None
@@ -416,9 +404,7 @@ class InputOpenTelemetry(BaseModel):
416
404
  ] = "/^$/"
417
405
  r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
418
406
 
419
- protocol: Annotated[
420
- Optional[InputOpenTelemetryProtocol], PlainValidator(validate_open_enum(False))
421
- ] = InputOpenTelemetryProtocol.GRPC
407
+ protocol: Optional[InputOpenTelemetryProtocol] = InputOpenTelemetryProtocol.GRPC
422
408
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
423
409
 
424
410
  extract_spans: Annotated[Optional[bool], pydantic.Field(alias="extractSpans")] = (
@@ -432,20 +418,12 @@ class InputOpenTelemetry(BaseModel):
432
418
  r"""Enable to extract each incoming Gauge or IntGauge metric to multiple events, one per data point"""
433
419
 
434
420
  otlp_version: Annotated[
435
- Annotated[
436
- Optional[InputOpenTelemetryOTLPVersion],
437
- PlainValidator(validate_open_enum(False)),
438
- ],
439
- pydantic.Field(alias="otlpVersion"),
421
+ Optional[InputOpenTelemetryOTLPVersion], pydantic.Field(alias="otlpVersion")
440
422
  ] = InputOpenTelemetryOTLPVersion.ZERO_DOT_10_DOT_0
441
423
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
442
424
 
443
425
  auth_type: Annotated[
444
- Annotated[
445
- Optional[InputOpenTelemetryAuthenticationType],
446
- PlainValidator(validate_open_enum(False)),
447
- ],
448
- pydantic.Field(alias="authType"),
426
+ Optional[InputOpenTelemetryAuthenticationType], pydantic.Field(alias="authType")
449
427
  ] = InputOpenTelemetryAuthenticationType.NONE
450
428
  r"""OpenTelemetry authentication type"""
451
429
 
@@ -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 InputPrometheusType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputPrometheusType(str, Enum):
15
12
  PROMETHEUS = "prometheus"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputPrometheusConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputPrometheusMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputPrometheusMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputPrometheusCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputPrometheusCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputPrometheusPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputPrometheusPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputPrometheusMode], PlainValidator(validate_open_enum(False))
63
- ] = InputPrometheusMode.ALWAYS
58
+ mode: Optional[InputPrometheusMode] = InputPrometheusMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,13 +79,11 @@ class InputPrometheusPq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputPrometheusCompression], PlainValidator(validate_open_enum(False))
89
- ] = InputPrometheusCompression.NONE
82
+ compress: Optional[InputPrometheusCompression] = InputPrometheusCompression.NONE
90
83
  r"""Codec to use to compress the persisted data"""
91
84
 
92
85
 
93
- class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
86
+ class InputPrometheusDiscoveryType(str, Enum):
94
87
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
95
88
 
96
89
  STATIC = "static"
@@ -98,7 +91,7 @@ class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
98
91
  EC2 = "ec2"
99
92
 
100
93
 
101
- class InputPrometheusLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
94
+ class InputPrometheusLogLevel(str, Enum):
102
95
  r"""Collector runtime Log Level"""
103
96
 
104
97
  ERROR = "error"
@@ -120,16 +113,14 @@ class InputPrometheusMetadatum(BaseModel):
120
113
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
121
114
 
122
115
 
123
- class InputPrometheusAuthTypeAuthenticationMethod(
124
- str, Enum, metaclass=utils.OpenEnumMeta
125
- ):
116
+ class InputPrometheusAuthTypeAuthenticationMethod(str, Enum):
126
117
  r"""Enter credentials directly, or select a stored secret"""
127
118
 
128
119
  MANUAL = "manual"
129
120
  SECRET = "secret"
130
121
 
131
122
 
132
- class InputPrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ class InputPrometheusRecordType(str, Enum):
133
124
  r"""DNS Record type to resolve"""
134
125
 
135
126
  SRV = "SRV"
@@ -137,7 +128,7 @@ class InputPrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
137
128
  AAAA = "AAAA"
138
129
 
139
130
 
140
- class MetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
131
+ class MetricsProtocol(str, Enum):
141
132
  r"""Protocol to use when collecting metrics"""
142
133
 
143
134
  HTTP = "http"
@@ -159,9 +150,7 @@ class InputPrometheusSearchFilter(BaseModel):
159
150
  r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
160
151
 
161
152
 
162
- class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
163
- str, Enum, metaclass=utils.OpenEnumMeta
164
- ):
153
+ class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(str, Enum):
165
154
  r"""AWS authentication method. Choose Auto to use IAM roles."""
166
155
 
167
156
  AUTO = "auto"
@@ -169,7 +158,7 @@ class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
169
158
  SECRET = "secret"
170
159
 
171
160
 
172
- class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
161
+ class InputPrometheusSignatureVersion(str, Enum):
173
162
  r"""Signature version to use for signing EC2 requests"""
174
163
 
175
164
  V2 = "v2"
@@ -177,9 +166,9 @@ class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
177
166
 
178
167
 
179
168
  class InputPrometheusTypedDict(TypedDict):
180
- type: InputPrometheusType
181
169
  id: NotRequired[str]
182
170
  r"""Unique ID for this input"""
171
+ type: NotRequired[InputPrometheusType]
183
172
  disabled: NotRequired[bool]
184
173
  pipeline: NotRequired[str]
185
174
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -265,11 +254,11 @@ class InputPrometheusTypedDict(TypedDict):
265
254
 
266
255
 
267
256
  class InputPrometheus(BaseModel):
268
- type: Annotated[InputPrometheusType, PlainValidator(validate_open_enum(False))]
269
-
270
257
  id: Optional[str] = None
271
258
  r"""Unique ID for this input"""
272
259
 
260
+ type: Optional[InputPrometheusType] = None
261
+
273
262
  disabled: Optional[bool] = False
274
263
 
275
264
  pipeline: Optional[str] = None
@@ -300,11 +289,7 @@ class InputPrometheus(BaseModel):
300
289
  r"""Other dimensions to include in events"""
301
290
 
302
291
  discovery_type: Annotated[
303
- Annotated[
304
- Optional[InputPrometheusDiscoveryType],
305
- PlainValidator(validate_open_enum(False)),
306
- ],
307
- pydantic.Field(alias="discoveryType"),
292
+ Optional[InputPrometheusDiscoveryType], pydantic.Field(alias="discoveryType")
308
293
  ] = InputPrometheusDiscoveryType.STATIC
309
294
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
310
295
 
@@ -312,10 +297,7 @@ class InputPrometheus(BaseModel):
312
297
  r"""How often in minutes to scrape targets for metrics, 60 must be evenly divisible by the value or save will fail."""
313
298
 
314
299
  log_level: Annotated[
315
- Annotated[
316
- Optional[InputPrometheusLogLevel], PlainValidator(validate_open_enum(False))
317
- ],
318
- pydantic.Field(alias="logLevel"),
300
+ Optional[InputPrometheusLogLevel], pydantic.Field(alias="logLevel")
319
301
  ] = InputPrometheusLogLevel.INFO
320
302
  r"""Collector runtime Log Level"""
321
303
 
@@ -349,10 +331,7 @@ class InputPrometheus(BaseModel):
349
331
  r"""Fields to add to events from this input"""
350
332
 
351
333
  auth_type: Annotated[
352
- Annotated[
353
- Optional[InputPrometheusAuthTypeAuthenticationMethod],
354
- PlainValidator(validate_open_enum(False)),
355
- ],
334
+ Optional[InputPrometheusAuthTypeAuthenticationMethod],
356
335
  pydantic.Field(alias="authType"),
357
336
  ] = InputPrometheusAuthTypeAuthenticationMethod.MANUAL
358
337
  r"""Enter credentials directly, or select a stored secret"""
@@ -368,17 +347,12 @@ class InputPrometheus(BaseModel):
368
347
  r"""List of DNS names to resolve"""
369
348
 
370
349
  record_type: Annotated[
371
- Annotated[
372
- Optional[InputPrometheusRecordType],
373
- PlainValidator(validate_open_enum(False)),
374
- ],
375
- pydantic.Field(alias="recordType"),
350
+ Optional[InputPrometheusRecordType], pydantic.Field(alias="recordType")
376
351
  ] = InputPrometheusRecordType.SRV
377
352
  r"""DNS Record type to resolve"""
378
353
 
379
354
  scrape_protocol: Annotated[
380
- Annotated[Optional[MetricsProtocol], PlainValidator(validate_open_enum(False))],
381
- pydantic.Field(alias="scrapeProtocol"),
355
+ Optional[MetricsProtocol], pydantic.Field(alias="scrapeProtocol")
382
356
  ] = MetricsProtocol.HTTP
383
357
  r"""Protocol to use when collecting metrics"""
384
358
 
@@ -400,10 +374,7 @@ class InputPrometheus(BaseModel):
400
374
  r"""EC2 Instance Search Filter"""
401
375
 
402
376
  aws_authentication_method: Annotated[
403
- Annotated[
404
- Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
405
- PlainValidator(validate_open_enum(False)),
406
- ],
377
+ Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
407
378
  pydantic.Field(alias="awsAuthenticationMethod"),
408
379
  ] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
409
380
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -419,10 +390,7 @@ class InputPrometheus(BaseModel):
419
390
  r"""EC2 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to EC2-compatible endpoint."""
420
391
 
421
392
  signature_version: Annotated[
422
- Annotated[
423
- Optional[InputPrometheusSignatureVersion],
424
- PlainValidator(validate_open_enum(False)),
425
- ],
393
+ Optional[InputPrometheusSignatureVersion],
426
394
  pydantic.Field(alias="signatureVersion"),
427
395
  ] = InputPrometheusSignatureVersion.V4
428
396
  r"""Signature version to use for signing EC2 requests"""
@@ -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 Any, List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
13
10
 
14
- class InputPrometheusRwType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputPrometheusRwType(str, Enum):
15
12
  PROMETHEUS_RW = "prometheus_rw"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputPrometheusRwConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputPrometheusRwMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputPrometheusRwMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputPrometheusRwCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputPrometheusRwCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputPrometheusRwPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputPrometheusRwPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputPrometheusRwMode], PlainValidator(validate_open_enum(False))
63
- ] = InputPrometheusRwMode.ALWAYS
58
+ mode: Optional[InputPrometheusRwMode] = InputPrometheusRwMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,21 +79,18 @@ class InputPrometheusRwPq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputPrometheusRwCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputPrometheusRwCompression.NONE
82
+ compress: Optional[InputPrometheusRwCompression] = InputPrometheusRwCompression.NONE
91
83
  r"""Codec to use to compress the persisted data"""
92
84
 
93
85
 
94
- class InputPrometheusRwMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
86
+ class InputPrometheusRwMinimumTLSVersion(str, Enum):
95
87
  TL_SV1 = "TLSv1"
96
88
  TL_SV1_1 = "TLSv1.1"
97
89
  TL_SV1_2 = "TLSv1.2"
98
90
  TL_SV1_3 = "TLSv1.3"
99
91
 
100
92
 
101
- class InputPrometheusRwMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
93
+ class InputPrometheusRwMaximumTLSVersion(str, Enum):
102
94
  TL_SV1 = "TLSv1"
103
95
  TL_SV1_1 = "TLSv1.1"
104
96
  TL_SV1_2 = "TLSv1.2"
@@ -157,23 +149,15 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
157
149
  ] = None
158
150
 
159
151
  min_version: Annotated[
160
- Annotated[
161
- Optional[InputPrometheusRwMinimumTLSVersion],
162
- PlainValidator(validate_open_enum(False)),
163
- ],
164
- pydantic.Field(alias="minVersion"),
152
+ Optional[InputPrometheusRwMinimumTLSVersion], pydantic.Field(alias="minVersion")
165
153
  ] = None
166
154
 
167
155
  max_version: Annotated[
168
- Annotated[
169
- Optional[InputPrometheusRwMaximumTLSVersion],
170
- PlainValidator(validate_open_enum(False)),
171
- ],
172
- pydantic.Field(alias="maxVersion"),
156
+ Optional[InputPrometheusRwMaximumTLSVersion], pydantic.Field(alias="maxVersion")
173
157
  ] = None
174
158
 
175
159
 
176
- class InputPrometheusRwAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
160
+ class InputPrometheusRwAuthenticationType(str, Enum):
177
161
  r"""Remote Write authentication type"""
178
162
 
179
163
  NONE = "none"
@@ -228,11 +212,11 @@ class InputPrometheusRwOauthHeader(BaseModel):
228
212
 
229
213
 
230
214
  class InputPrometheusRwTypedDict(TypedDict):
231
- type: InputPrometheusRwType
232
215
  port: float
233
216
  r"""Port to listen on"""
234
217
  id: NotRequired[str]
235
218
  r"""Unique ID for this input"""
219
+ type: NotRequired[InputPrometheusRwType]
236
220
  disabled: NotRequired[bool]
237
221
  pipeline: NotRequired[str]
238
222
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -306,14 +290,14 @@ class InputPrometheusRwTypedDict(TypedDict):
306
290
 
307
291
 
308
292
  class InputPrometheusRw(BaseModel):
309
- type: Annotated[InputPrometheusRwType, PlainValidator(validate_open_enum(False))]
310
-
311
293
  port: float
312
294
  r"""Port to listen on"""
313
295
 
314
296
  id: Optional[str] = None
315
297
  r"""Unique ID for this input"""
316
298
 
299
+ type: Optional[InputPrometheusRwType] = None
300
+
317
301
  disabled: Optional[bool] = False
318
302
 
319
303
  pipeline: Optional[str] = None
@@ -404,11 +388,7 @@ class InputPrometheusRw(BaseModel):
404
388
  r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://<your‑upstream‑URL>:<your‑port>/write."""
405
389
 
406
390
  auth_type: Annotated[
407
- Annotated[
408
- Optional[InputPrometheusRwAuthenticationType],
409
- PlainValidator(validate_open_enum(False)),
410
- ],
411
- pydantic.Field(alias="authType"),
391
+ Optional[InputPrometheusRwAuthenticationType], pydantic.Field(alias="authType")
412
392
  ] = InputPrometheusRwAuthenticationType.NONE
413
393
  r"""Remote Write authentication type"""
414
394
 
@@ -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 InputRawUDPType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputRawUDPType(str, Enum):
15
12
  RAW_UDP = "raw_udp"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputRawUDPConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputRawUDPMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputRawUDPMode(str, Enum):
30
27
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
31
28
 
32
29
  SMART = "smart"
33
30
  ALWAYS = "always"
34
31
 
35
32
 
36
- class InputRawUDPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputRawUDPCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputRawUDPPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputRawUDPPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputRawUDPMode], PlainValidator(validate_open_enum(False))
63
- ] = InputRawUDPMode.ALWAYS
58
+ mode: Optional[InputRawUDPMode] = InputRawUDPMode.ALWAYS
64
59
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
65
60
 
66
61
  max_buffer_size: Annotated[
@@ -84,9 +79,7 @@ class InputRawUDPPq(BaseModel):
84
79
  path: Optional[str] = "$CRIBL_HOME/state/queues"
85
80
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
86
81
 
87
- compress: Annotated[
88
- Optional[InputRawUDPCompression], PlainValidator(validate_open_enum(False))
89
- ] = InputRawUDPCompression.NONE
82
+ compress: Optional[InputRawUDPCompression] = InputRawUDPCompression.NONE
90
83
  r"""Codec to use to compress the persisted data"""
91
84
 
92
85
 
@@ -104,11 +97,11 @@ class InputRawUDPMetadatum(BaseModel):
104
97
 
105
98
 
106
99
  class InputRawUDPTypedDict(TypedDict):
107
- type: InputRawUDPType
108
100
  port: float
109
101
  r"""Port to listen on"""
110
102
  id: NotRequired[str]
111
103
  r"""Unique ID for this input"""
104
+ type: NotRequired[InputRawUDPType]
112
105
  disabled: NotRequired[bool]
113
106
  pipeline: NotRequired[str]
114
107
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -141,14 +134,14 @@ class InputRawUDPTypedDict(TypedDict):
141
134
 
142
135
 
143
136
  class InputRawUDP(BaseModel):
144
- type: Annotated[InputRawUDPType, PlainValidator(validate_open_enum(False))]
145
-
146
137
  port: float
147
138
  r"""Port to listen on"""
148
139
 
149
140
  id: Optional[str] = None
150
141
  r"""Unique ID for this input"""
151
142
 
143
+ type: Optional[InputRawUDPType] = None
144
+
152
145
  disabled: Optional[bool] = False
153
146
 
154
147
  pipeline: Optional[str] = None