cribl-control-plane 0.0.16__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 (133) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +2 -8
  3. cribl_control_plane/models/__init__.py +4124 -4124
  4. cribl_control_plane/models/createinputop.py +1734 -2771
  5. cribl_control_plane/models/createoutputop.py +2153 -4314
  6. cribl_control_plane/models/healthstatus.py +4 -7
  7. cribl_control_plane/models/inputappscope.py +16 -36
  8. cribl_control_plane/models/inputazureblob.py +8 -19
  9. cribl_control_plane/models/inputcollection.py +6 -15
  10. cribl_control_plane/models/inputconfluentcloud.py +20 -45
  11. cribl_control_plane/models/inputcribl.py +6 -13
  12. cribl_control_plane/models/inputcriblhttp.py +10 -27
  13. cribl_control_plane/models/inputcribllakehttp.py +12 -26
  14. cribl_control_plane/models/inputcriblmetrics.py +6 -14
  15. cribl_control_plane/models/inputcribltcp.py +10 -27
  16. cribl_control_plane/models/inputcrowdstrike.py +12 -28
  17. cribl_control_plane/models/inputdatadogagent.py +10 -28
  18. cribl_control_plane/models/inputdatagen.py +6 -13
  19. cribl_control_plane/models/inputedgeprometheus.py +31 -64
  20. cribl_control_plane/models/inputelastic.py +16 -44
  21. cribl_control_plane/models/inputeventhub.py +8 -19
  22. cribl_control_plane/models/inputexec.py +8 -16
  23. cribl_control_plane/models/inputfile.py +8 -17
  24. cribl_control_plane/models/inputfirehose.py +10 -27
  25. cribl_control_plane/models/inputgooglepubsub.py +8 -23
  26. cribl_control_plane/models/inputgrafana_union.py +35 -81
  27. cribl_control_plane/models/inputhttp.py +10 -27
  28. cribl_control_plane/models/inputhttpraw.py +10 -27
  29. cribl_control_plane/models/inputjournalfiles.py +6 -16
  30. cribl_control_plane/models/inputkafka.py +16 -45
  31. cribl_control_plane/models/inputkinesis.py +16 -42
  32. cribl_control_plane/models/inputkubeevents.py +6 -13
  33. cribl_control_plane/models/inputkubelogs.py +10 -18
  34. cribl_control_plane/models/inputkubemetrics.py +10 -18
  35. cribl_control_plane/models/inputloki.py +12 -33
  36. cribl_control_plane/models/inputmetrics.py +10 -25
  37. cribl_control_plane/models/inputmodeldriventelemetry.py +12 -32
  38. cribl_control_plane/models/inputmsk.py +18 -52
  39. cribl_control_plane/models/inputnetflow.py +6 -15
  40. cribl_control_plane/models/inputoffice365mgmt.py +16 -37
  41. cribl_control_plane/models/inputoffice365msgtrace.py +18 -39
  42. cribl_control_plane/models/inputoffice365service.py +18 -39
  43. cribl_control_plane/models/inputopentelemetry.py +18 -42
  44. cribl_control_plane/models/inputprometheus.py +20 -54
  45. cribl_control_plane/models/inputprometheusrw.py +12 -34
  46. cribl_control_plane/models/inputrawudp.py +6 -15
  47. cribl_control_plane/models/inputs3.py +10 -23
  48. cribl_control_plane/models/inputs3inventory.py +12 -28
  49. cribl_control_plane/models/inputsecuritylake.py +12 -29
  50. cribl_control_plane/models/inputsnmp.py +8 -20
  51. cribl_control_plane/models/inputsplunk.py +14 -37
  52. cribl_control_plane/models/inputsplunkhec.py +12 -33
  53. cribl_control_plane/models/inputsplunksearch.py +16 -37
  54. cribl_control_plane/models/inputsqs.py +12 -31
  55. cribl_control_plane/models/inputsyslog_union.py +29 -53
  56. cribl_control_plane/models/inputsystemmetrics.py +26 -50
  57. cribl_control_plane/models/inputsystemstate.py +10 -18
  58. cribl_control_plane/models/inputtcp.py +12 -33
  59. cribl_control_plane/models/inputtcpjson.py +12 -33
  60. cribl_control_plane/models/inputwef.py +20 -45
  61. cribl_control_plane/models/inputwindowsmetrics.py +26 -46
  62. cribl_control_plane/models/inputwineventlogs.py +12 -22
  63. cribl_control_plane/models/inputwiz.py +10 -25
  64. cribl_control_plane/models/inputzscalerhec.py +12 -33
  65. cribl_control_plane/models/output.py +3 -6
  66. cribl_control_plane/models/outputazureblob.py +20 -52
  67. cribl_control_plane/models/outputazuredataexplorer.py +30 -77
  68. cribl_control_plane/models/outputazureeventhub.py +20 -44
  69. cribl_control_plane/models/outputazurelogs.py +14 -37
  70. cribl_control_plane/models/outputclickhouse.py +22 -59
  71. cribl_control_plane/models/outputcloudwatch.py +12 -33
  72. cribl_control_plane/models/outputconfluentcloud.py +32 -75
  73. cribl_control_plane/models/outputcriblhttp.py +18 -46
  74. cribl_control_plane/models/outputcribllake.py +18 -48
  75. cribl_control_plane/models/outputcribltcp.py +20 -47
  76. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
  77. cribl_control_plane/models/outputdatadog.py +22 -50
  78. cribl_control_plane/models/outputdataset.py +20 -48
  79. cribl_control_plane/models/outputdefault.py +2 -5
  80. cribl_control_plane/models/outputdevnull.py +2 -5
  81. cribl_control_plane/models/outputdiskspool.py +4 -9
  82. cribl_control_plane/models/outputdls3.py +26 -72
  83. cribl_control_plane/models/outputdynatracehttp.py +22 -57
  84. cribl_control_plane/models/outputdynatraceotlp.py +24 -59
  85. cribl_control_plane/models/outputelastic.py +20 -45
  86. cribl_control_plane/models/outputelasticcloud.py +14 -40
  87. cribl_control_plane/models/outputexabeam.py +12 -33
  88. cribl_control_plane/models/outputfilesystem.py +16 -41
  89. cribl_control_plane/models/outputgooglechronicle.py +18 -54
  90. cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
  91. cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
  92. cribl_control_plane/models/outputgooglepubsub.py +16 -39
  93. cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
  94. cribl_control_plane/models/outputgraphite.py +16 -35
  95. cribl_control_plane/models/outputhoneycomb.py +14 -37
  96. cribl_control_plane/models/outputhumiohec.py +18 -47
  97. cribl_control_plane/models/outputinfluxdb.py +18 -44
  98. cribl_control_plane/models/outputkafka.py +28 -73
  99. cribl_control_plane/models/outputkinesis.py +18 -44
  100. cribl_control_plane/models/outputloki.py +18 -43
  101. cribl_control_plane/models/outputminio.py +26 -69
  102. cribl_control_plane/models/outputmsk.py +30 -81
  103. cribl_control_plane/models/outputnetflow.py +2 -5
  104. cribl_control_plane/models/outputnewrelic.py +20 -45
  105. cribl_control_plane/models/outputnewrelicevents.py +16 -45
  106. cribl_control_plane/models/outputopentelemetry.py +28 -69
  107. cribl_control_plane/models/outputprometheus.py +14 -37
  108. cribl_control_plane/models/outputring.py +10 -21
  109. cribl_control_plane/models/outputrouter.py +2 -5
  110. cribl_control_plane/models/outputs3.py +28 -72
  111. cribl_control_plane/models/outputsecuritylake.py +20 -56
  112. cribl_control_plane/models/outputsentinel.py +20 -49
  113. cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
  114. cribl_control_plane/models/outputservicenow.py +26 -64
  115. cribl_control_plane/models/outputsignalfx.py +16 -39
  116. cribl_control_plane/models/outputsnmp.py +2 -5
  117. cribl_control_plane/models/outputsns.py +16 -40
  118. cribl_control_plane/models/outputsplunk.py +26 -64
  119. cribl_control_plane/models/outputsplunkhec.py +14 -37
  120. cribl_control_plane/models/outputsplunklb.py +36 -83
  121. cribl_control_plane/models/outputsqs.py +18 -45
  122. cribl_control_plane/models/outputstatsd.py +16 -34
  123. cribl_control_plane/models/outputstatsdext.py +14 -33
  124. cribl_control_plane/models/outputsumologic.py +14 -37
  125. cribl_control_plane/models/outputsyslog.py +26 -60
  126. cribl_control_plane/models/outputtcpjson.py +22 -54
  127. cribl_control_plane/models/outputwavefront.py +14 -37
  128. cribl_control_plane/models/outputwebhook.py +24 -60
  129. cribl_control_plane/models/outputxsiam.py +16 -37
  130. {cribl_control_plane-0.0.16.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +1 -1
  131. cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
  132. cribl_control_plane-0.0.16.dist-info/RECORD +0 -215
  133. {cribl_control_plane-0.0.16.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 InputTCPType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputTCPType(str, Enum):
15
12
  TCP = "tcp"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputTCPConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputTCPMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputTCPMode(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 InputTCPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputTCPCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputTCPPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputTCPPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputTCPMode], PlainValidator(validate_open_enum(False))
63
- ] = InputTCPMode.ALWAYS
58
+ mode: Optional[InputTCPMode] = InputTCPMode.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,20 +79,18 @@ class InputTCPPq(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[InputTCPCompression], PlainValidator(validate_open_enum(False))
89
- ] = InputTCPCompression.NONE
82
+ compress: Optional[InputTCPCompression] = InputTCPCompression.NONE
90
83
  r"""Codec to use to compress the persisted data"""
91
84
 
92
85
 
93
- class InputTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
86
+ class InputTCPMinimumTLSVersion(str, Enum):
94
87
  TL_SV1 = "TLSv1"
95
88
  TL_SV1_1 = "TLSv1.1"
96
89
  TL_SV1_2 = "TLSv1.2"
97
90
  TL_SV1_3 = "TLSv1.3"
98
91
 
99
92
 
100
- class InputTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
93
+ class InputTCPMaximumTLSVersion(str, Enum):
101
94
  TL_SV1 = "TLSv1"
102
95
  TL_SV1_1 = "TLSv1.1"
103
96
  TL_SV1_2 = "TLSv1.2"
@@ -156,19 +149,11 @@ class InputTCPTLSSettingsServerSide(BaseModel):
156
149
  ] = None
157
150
 
158
151
  min_version: Annotated[
159
- Annotated[
160
- Optional[InputTCPMinimumTLSVersion],
161
- PlainValidator(validate_open_enum(False)),
162
- ],
163
- pydantic.Field(alias="minVersion"),
152
+ Optional[InputTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
164
153
  ] = None
165
154
 
166
155
  max_version: Annotated[
167
- Annotated[
168
- Optional[InputTCPMaximumTLSVersion],
169
- PlainValidator(validate_open_enum(False)),
170
- ],
171
- pydantic.Field(alias="maxVersion"),
156
+ Optional[InputTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
172
157
  ] = None
173
158
 
174
159
 
@@ -203,7 +188,7 @@ class InputTCPPreprocess(BaseModel):
203
188
  r"""Arguments to be added to the custom command"""
204
189
 
205
190
 
206
- class InputTCPAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
191
+ class InputTCPAuthenticationMethod(str, Enum):
207
192
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
208
193
 
209
194
  MANUAL = "manual"
@@ -266,9 +251,7 @@ class InputTCP(BaseModel):
266
251
  id: Optional[str] = None
267
252
  r"""Unique ID for this input"""
268
253
 
269
- type: Annotated[
270
- Optional[InputTCPType], PlainValidator(validate_open_enum(False))
271
- ] = None
254
+ type: Optional[InputTCPType] = None
272
255
 
273
256
  disabled: Optional[bool] = False
274
257
 
@@ -352,10 +335,6 @@ class InputTCP(BaseModel):
352
335
  description: Optional[str] = None
353
336
 
354
337
  auth_type: Annotated[
355
- Annotated[
356
- Optional[InputTCPAuthenticationMethod],
357
- PlainValidator(validate_open_enum(False)),
358
- ],
359
- pydantic.Field(alias="authType"),
338
+ Optional[InputTCPAuthenticationMethod], pydantic.Field(alias="authType")
360
339
  ] = InputTCPAuthenticationMethod.MANUAL
361
340
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -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 InputTcpjsonType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputTcpjsonType(str, Enum):
15
12
  TCPJSON = "tcpjson"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputTcpjsonConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputTcpjsonMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputTcpjsonMode(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 InputTcpjsonCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputTcpjsonCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputTcpjsonPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputTcpjsonPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputTcpjsonMode], PlainValidator(validate_open_enum(False))
63
- ] = InputTcpjsonMode.ALWAYS
58
+ mode: Optional[InputTcpjsonMode] = InputTcpjsonMode.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,20 +79,18 @@ class InputTcpjsonPq(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[InputTcpjsonCompression], PlainValidator(validate_open_enum(False))
89
- ] = InputTcpjsonCompression.NONE
82
+ compress: Optional[InputTcpjsonCompression] = InputTcpjsonCompression.NONE
90
83
  r"""Codec to use to compress the persisted data"""
91
84
 
92
85
 
93
- class InputTcpjsonMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
86
+ class InputTcpjsonMinimumTLSVersion(str, Enum):
94
87
  TL_SV1 = "TLSv1"
95
88
  TL_SV1_1 = "TLSv1.1"
96
89
  TL_SV1_2 = "TLSv1.2"
97
90
  TL_SV1_3 = "TLSv1.3"
98
91
 
99
92
 
100
- class InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
93
+ class InputTcpjsonMaximumTLSVersion(str, Enum):
101
94
  TL_SV1 = "TLSv1"
102
95
  TL_SV1_1 = "TLSv1.1"
103
96
  TL_SV1_2 = "TLSv1.2"
@@ -156,19 +149,11 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
156
149
  ] = None
157
150
 
158
151
  min_version: Annotated[
159
- Annotated[
160
- Optional[InputTcpjsonMinimumTLSVersion],
161
- PlainValidator(validate_open_enum(False)),
162
- ],
163
- pydantic.Field(alias="minVersion"),
152
+ Optional[InputTcpjsonMinimumTLSVersion], pydantic.Field(alias="minVersion")
164
153
  ] = None
165
154
 
166
155
  max_version: Annotated[
167
- Annotated[
168
- Optional[InputTcpjsonMaximumTLSVersion],
169
- PlainValidator(validate_open_enum(False)),
170
- ],
171
- pydantic.Field(alias="maxVersion"),
156
+ Optional[InputTcpjsonMaximumTLSVersion], pydantic.Field(alias="maxVersion")
172
157
  ] = None
173
158
 
174
159
 
@@ -185,7 +170,7 @@ class InputTcpjsonMetadatum(BaseModel):
185
170
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
186
171
 
187
172
 
188
- class InputTcpjsonAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
173
+ class InputTcpjsonAuthenticationMethod(str, Enum):
189
174
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
190
175
 
191
176
  MANUAL = "manual"
@@ -247,9 +232,7 @@ class InputTcpjson(BaseModel):
247
232
  id: Optional[str] = None
248
233
  r"""Unique ID for this input"""
249
234
 
250
- type: Annotated[
251
- Optional[InputTcpjsonType], PlainValidator(validate_open_enum(False))
252
- ] = None
235
+ type: Optional[InputTcpjsonType] = None
253
236
 
254
237
  disabled: Optional[bool] = False
255
238
 
@@ -319,11 +302,7 @@ class InputTcpjson(BaseModel):
319
302
  r"""Load balance traffic across all Worker Processes"""
320
303
 
321
304
  auth_type: Annotated[
322
- Annotated[
323
- Optional[InputTcpjsonAuthenticationMethod],
324
- PlainValidator(validate_open_enum(False)),
325
- ],
326
- pydantic.Field(alias="authType"),
305
+ Optional[InputTcpjsonAuthenticationMethod], pydantic.Field(alias="authType")
327
306
  ] = InputTcpjsonAuthenticationMethod.MANUAL
328
307
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
329
308
 
@@ -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 InputWefType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputWefType(str, Enum):
15
12
  WEF = "wef"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputWefConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputWefMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputWefMode(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 InputWefCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputWefCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputWefPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputWefPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputWefMode], PlainValidator(validate_open_enum(False))
63
- ] = InputWefMode.ALWAYS
58
+ mode: Optional[InputWefMode] = InputWefMode.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,27 +79,25 @@ class InputWefPq(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[InputWefCompression], PlainValidator(validate_open_enum(False))
89
- ] = InputWefCompression.NONE
82
+ compress: Optional[InputWefCompression] = InputWefCompression.NONE
90
83
  r"""Codec to use to compress the persisted data"""
91
84
 
92
85
 
93
- class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
86
+ class InputWefAuthenticationMethod(str, Enum):
94
87
  r"""How to authenticate incoming client connections"""
95
88
 
96
89
  CLIENT_CERT = "clientCert"
97
90
  KERBEROS = "kerberos"
98
91
 
99
92
 
100
- class InputWefMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
93
+ class InputWefMinimumTLSVersion(str, Enum):
101
94
  TL_SV1 = "TLSv1"
102
95
  TL_SV1_1 = "TLSv1.1"
103
96
  TL_SV1_2 = "TLSv1.2"
104
97
  TL_SV1_3 = "TLSv1.3"
105
98
 
106
99
 
107
- class InputWefMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
100
+ class InputWefMaximumTLSVersion(str, Enum):
108
101
  TL_SV1 = "TLSv1"
109
102
  TL_SV1_1 = "TLSv1.1"
110
103
  TL_SV1_2 = "TLSv1.2"
@@ -175,19 +168,11 @@ class MTLSSettings(BaseModel):
175
168
  r"""Regex matching allowable common names in peer certificates' subject attribute"""
176
169
 
177
170
  min_version: Annotated[
178
- Annotated[
179
- Optional[InputWefMinimumTLSVersion],
180
- PlainValidator(validate_open_enum(False)),
181
- ],
182
- pydantic.Field(alias="minVersion"),
171
+ Optional[InputWefMinimumTLSVersion], pydantic.Field(alias="minVersion")
183
172
  ] = None
184
173
 
185
174
  max_version: Annotated[
186
- Annotated[
187
- Optional[InputWefMaximumTLSVersion],
188
- PlainValidator(validate_open_enum(False)),
189
- ],
190
- pydantic.Field(alias="maxVersion"),
175
+ Optional[InputWefMaximumTLSVersion], pydantic.Field(alias="maxVersion")
191
176
  ] = None
192
177
 
193
178
  ocsp_check: Annotated[Optional[bool], pydantic.Field(alias="ocspCheck")] = False
@@ -203,25 +188,25 @@ class MTLSSettings(BaseModel):
203
188
  r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
204
189
 
205
190
 
206
- class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
191
+ class InputWefFormat(str, Enum):
207
192
  r"""Content format in which the endpoint should deliver events"""
208
193
 
209
194
  RAW = "Raw"
210
195
  RENDERED_TEXT = "RenderedText"
211
196
 
212
197
 
213
- class QueryBuilderMode(str, Enum, metaclass=utils.OpenEnumMeta):
198
+ class QueryBuilderMode(str, Enum):
214
199
  SIMPLE = "simple"
215
200
  XML = "xml"
216
201
 
217
202
 
218
- class SubscriptionMetadatumTypedDict(TypedDict):
203
+ class InputWefSubscriptionMetadatumTypedDict(TypedDict):
219
204
  name: str
220
205
  value: str
221
206
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
222
207
 
223
208
 
224
- class SubscriptionMetadatum(BaseModel):
209
+ class InputWefSubscriptionMetadatum(BaseModel):
225
210
  name: str
226
211
 
227
212
  value: str
@@ -249,7 +234,7 @@ class SubscriptionTypedDict(TypedDict):
249
234
  locale: NotRequired[str]
250
235
  r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
251
236
  query_selector: NotRequired[QueryBuilderMode]
252
- metadata: NotRequired[List[SubscriptionMetadatumTypedDict]]
237
+ metadata: NotRequired[List[InputWefSubscriptionMetadatumTypedDict]]
253
238
  r"""Fields to add to events ingested under this subscription"""
254
239
 
255
240
 
@@ -263,8 +248,7 @@ class Subscription(BaseModel):
263
248
  r"""Version UUID for this subscription. If any subscription parameters are modified, this value will change."""
264
249
 
265
250
  content_format: Annotated[
266
- Annotated[Optional[InputWefFormat], PlainValidator(validate_open_enum(False))],
267
- pydantic.Field(alias="contentFormat"),
251
+ Optional[InputWefFormat], pydantic.Field(alias="contentFormat")
268
252
  ] = InputWefFormat.RAW
269
253
  r"""Content format in which the endpoint should deliver events"""
270
254
 
@@ -293,13 +277,10 @@ class Subscription(BaseModel):
293
277
  r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
294
278
 
295
279
  query_selector: Annotated[
296
- Annotated[
297
- Optional[QueryBuilderMode], PlainValidator(validate_open_enum(False))
298
- ],
299
- pydantic.Field(alias="querySelector"),
280
+ Optional[QueryBuilderMode], pydantic.Field(alias="querySelector")
300
281
  ] = QueryBuilderMode.SIMPLE
301
282
 
302
- metadata: Optional[List[SubscriptionMetadatum]] = None
283
+ metadata: Optional[List[InputWefSubscriptionMetadatum]] = None
303
284
  r"""Fields to add to events ingested under this subscription"""
304
285
 
305
286
 
@@ -383,9 +364,7 @@ class InputWef(BaseModel):
383
364
  id: Optional[str] = None
384
365
  r"""Unique ID for this input"""
385
366
 
386
- type: Annotated[
387
- Optional[InputWefType], PlainValidator(validate_open_enum(False))
388
- ] = None
367
+ type: Optional[InputWefType] = None
389
368
 
390
369
  disabled: Optional[bool] = False
391
370
 
@@ -418,11 +397,7 @@ class InputWef(BaseModel):
418
397
  r"""Port to listen on"""
419
398
 
420
399
  auth_method: Annotated[
421
- Annotated[
422
- Optional[InputWefAuthenticationMethod],
423
- PlainValidator(validate_open_enum(False)),
424
- ],
425
- pydantic.Field(alias="authMethod"),
400
+ Optional[InputWefAuthenticationMethod], pydantic.Field(alias="authMethod")
426
401
  ] = InputWefAuthenticationMethod.CLIENT_CERT
427
402
  r"""How to authenticate incoming client connections"""
428
403
 
@@ -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 InputWindowsMetricsType(str, Enum, metaclass=utils.OpenEnumMeta):
11
+ class InputWindowsMetricsType(str, Enum):
15
12
  WINDOWS_METRICS = "windows_metrics"
16
13
 
17
14
 
@@ -26,14 +23,14 @@ class InputWindowsMetricsConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputWindowsMetricsPqMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputWindowsMetricsPqMode(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 InputWindowsMetricsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputWindowsMetricsCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -58,9 +55,7 @@ class InputWindowsMetricsPqTypedDict(TypedDict):
58
55
 
59
56
 
60
57
  class InputWindowsMetricsPq(BaseModel):
61
- mode: Annotated[
62
- Optional[InputWindowsMetricsPqMode], PlainValidator(validate_open_enum(False))
63
- ] = InputWindowsMetricsPqMode.ALWAYS
58
+ mode: Optional[InputWindowsMetricsPqMode] = InputWindowsMetricsPqMode.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,14 +79,13 @@ class InputWindowsMetricsPq(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[InputWindowsMetricsCompression],
89
- PlainValidator(validate_open_enum(False)),
90
- ] = InputWindowsMetricsCompression.NONE
82
+ compress: Optional[InputWindowsMetricsCompression] = (
83
+ InputWindowsMetricsCompression.NONE
84
+ )
91
85
  r"""Codec to use to compress the persisted data"""
92
86
 
93
87
 
94
- class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
88
+ class InputWindowsMetricsHostMode(str, Enum):
95
89
  r"""Select level of detail for host metrics"""
96
90
 
97
91
  BASIC = "basic"
@@ -100,7 +94,7 @@ class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
100
94
  DISABLED = "disabled"
101
95
 
102
96
 
103
- class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
97
+ class InputWindowsMetricsSystemMode(str, Enum):
104
98
  r"""Select the level of details for system metrics"""
105
99
 
106
100
  BASIC = "basic"
@@ -117,17 +111,14 @@ class InputWindowsMetricsSystemTypedDict(TypedDict):
117
111
 
118
112
 
119
113
  class InputWindowsMetricsSystem(BaseModel):
120
- mode: Annotated[
121
- Optional[InputWindowsMetricsSystemMode],
122
- PlainValidator(validate_open_enum(False)),
123
- ] = InputWindowsMetricsSystemMode.BASIC
114
+ mode: Optional[InputWindowsMetricsSystemMode] = InputWindowsMetricsSystemMode.BASIC
124
115
  r"""Select the level of details for system metrics"""
125
116
 
126
117
  detail: Optional[bool] = False
127
118
  r"""Generate metrics for all system information"""
128
119
 
129
120
 
130
- class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
121
+ class InputWindowsMetricsCPUMode(str, Enum):
131
122
  r"""Select the level of details for CPU metrics"""
132
123
 
133
124
  BASIC = "basic"
@@ -148,9 +139,7 @@ class InputWindowsMetricsCPUTypedDict(TypedDict):
148
139
 
149
140
 
150
141
  class InputWindowsMetricsCPU(BaseModel):
151
- mode: Annotated[
152
- Optional[InputWindowsMetricsCPUMode], PlainValidator(validate_open_enum(False))
153
- ] = InputWindowsMetricsCPUMode.BASIC
142
+ mode: Optional[InputWindowsMetricsCPUMode] = InputWindowsMetricsCPUMode.BASIC
154
143
  r"""Select the level of details for CPU metrics"""
155
144
 
156
145
  per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
@@ -163,7 +152,7 @@ class InputWindowsMetricsCPU(BaseModel):
163
152
  r"""Generate raw, monotonic CPU time counters"""
164
153
 
165
154
 
166
- class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
155
+ class InputWindowsMetricsMemoryMode(str, Enum):
167
156
  r"""Select the level of details for memory metrics"""
168
157
 
169
158
  BASIC = "basic"
@@ -180,17 +169,14 @@ class InputWindowsMetricsMemoryTypedDict(TypedDict):
180
169
 
181
170
 
182
171
  class InputWindowsMetricsMemory(BaseModel):
183
- mode: Annotated[
184
- Optional[InputWindowsMetricsMemoryMode],
185
- PlainValidator(validate_open_enum(False)),
186
- ] = InputWindowsMetricsMemoryMode.BASIC
172
+ mode: Optional[InputWindowsMetricsMemoryMode] = InputWindowsMetricsMemoryMode.BASIC
187
173
  r"""Select the level of details for memory metrics"""
188
174
 
189
175
  detail: Optional[bool] = False
190
176
  r"""Generate metrics for all memory states"""
191
177
 
192
178
 
193
- class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
179
+ class InputWindowsMetricsNetworkMode(str, Enum):
194
180
  r"""Select the level of details for network metrics"""
195
181
 
196
182
  BASIC = "basic"
@@ -211,10 +197,9 @@ class InputWindowsMetricsNetworkTypedDict(TypedDict):
211
197
 
212
198
 
213
199
  class InputWindowsMetricsNetwork(BaseModel):
214
- mode: Annotated[
215
- Optional[InputWindowsMetricsNetworkMode],
216
- PlainValidator(validate_open_enum(False)),
217
- ] = InputWindowsMetricsNetworkMode.BASIC
200
+ mode: Optional[InputWindowsMetricsNetworkMode] = (
201
+ InputWindowsMetricsNetworkMode.BASIC
202
+ )
218
203
  r"""Select the level of details for network metrics"""
219
204
 
220
205
  devices: Optional[List[str]] = None
@@ -229,7 +214,7 @@ class InputWindowsMetricsNetwork(BaseModel):
229
214
  r"""Generate full network metrics"""
230
215
 
231
216
 
232
- class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
217
+ class InputWindowsMetricsDiskMode(str, Enum):
233
218
  r"""Select the level of details for disk metrics"""
234
219
 
235
220
  BASIC = "basic"
@@ -248,9 +233,7 @@ class InputWindowsMetricsDiskTypedDict(TypedDict):
248
233
 
249
234
 
250
235
  class InputWindowsMetricsDisk(BaseModel):
251
- mode: Annotated[
252
- Optional[InputWindowsMetricsDiskMode], PlainValidator(validate_open_enum(False))
253
- ] = InputWindowsMetricsDiskMode.BASIC
236
+ mode: Optional[InputWindowsMetricsDiskMode] = InputWindowsMetricsDiskMode.BASIC
254
237
  r"""Select the level of details for disk metrics"""
255
238
 
256
239
  volumes: Optional[List[str]] = None
@@ -287,9 +270,7 @@ class InputWindowsMetricsHostTypedDict(TypedDict):
287
270
 
288
271
 
289
272
  class InputWindowsMetricsHost(BaseModel):
290
- mode: Annotated[
291
- Optional[InputWindowsMetricsHostMode], PlainValidator(validate_open_enum(False))
292
- ] = InputWindowsMetricsHostMode.BASIC
273
+ mode: Optional[InputWindowsMetricsHostMode] = InputWindowsMetricsHostMode.BASIC
293
274
  r"""Select level of detail for host metrics"""
294
275
 
295
276
  custom: Optional[InputWindowsMetricsCustom] = None
@@ -334,7 +315,7 @@ class InputWindowsMetricsMetadatum(BaseModel):
334
315
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
335
316
 
336
317
 
337
- class InputWindowsMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
318
+ class InputWindowsMetricsDataCompressionFormat(str, Enum):
338
319
  NONE = "none"
339
320
  GZIP = "gzip"
340
321
 
@@ -366,10 +347,9 @@ class InputWindowsMetricsPersistence(BaseModel):
366
347
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
367
348
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
368
349
 
369
- compress: Annotated[
370
- Optional[InputWindowsMetricsDataCompressionFormat],
371
- PlainValidator(validate_open_enum(False)),
372
- ] = InputWindowsMetricsDataCompressionFormat.GZIP
350
+ compress: Optional[InputWindowsMetricsDataCompressionFormat] = (
351
+ InputWindowsMetricsDataCompressionFormat.GZIP
352
+ )
373
353
 
374
354
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
375
355
  "$CRIBL_HOME/state/windows_metrics"
@@ -411,7 +391,7 @@ class InputWindowsMetrics(BaseModel):
411
391
  id: str
412
392
  r"""Unique ID for this input"""
413
393
 
414
- type: Annotated[InputWindowsMetricsType, PlainValidator(validate_open_enum(False))]
394
+ type: InputWindowsMetricsType
415
395
 
416
396
  disabled: Optional[bool] = False
417
397