cribl-control-plane 0.0.50rc2__py3-none-any.whl → 0.0.52__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 (182) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +91 -41
  2. cribl_control_plane/_version.py +6 -4
  3. cribl_control_plane/errors/apierror.py +1 -1
  4. cribl_control_plane/errors/criblcontrolplaneerror.py +1 -1
  5. cribl_control_plane/errors/error.py +1 -1
  6. cribl_control_plane/errors/healthstatus_error.py +3 -9
  7. cribl_control_plane/errors/no_response_error.py +1 -1
  8. cribl_control_plane/errors/responsevalidationerror.py +1 -1
  9. cribl_control_plane/groups_sdk.py +4 -4
  10. cribl_control_plane/health.py +2 -6
  11. cribl_control_plane/models/__init__.py +31 -56
  12. cribl_control_plane/models/appmode.py +13 -0
  13. cribl_control_plane/models/cacheconnection.py +2 -10
  14. cribl_control_plane/models/cacheconnectionbackfillstatus.py +1 -2
  15. cribl_control_plane/models/cloudprovider.py +1 -2
  16. cribl_control_plane/models/configgroup.py +4 -24
  17. cribl_control_plane/models/configgroupcloud.py +2 -6
  18. cribl_control_plane/models/createconfiggroupbyproductop.py +2 -8
  19. cribl_control_plane/models/createinputhectokenbyidop.py +5 -6
  20. cribl_control_plane/models/createversionpushop.py +5 -5
  21. cribl_control_plane/models/cribllakedataset.py +2 -8
  22. cribl_control_plane/models/datasetmetadata.py +2 -8
  23. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +2 -7
  24. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +2 -4
  25. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +2 -4
  26. cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -3
  27. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +2 -7
  28. cribl_control_plane/models/getsummaryop.py +2 -7
  29. cribl_control_plane/models/getversionshowop.py +5 -6
  30. cribl_control_plane/models/gitinfo.py +3 -14
  31. cribl_control_plane/models/hbcriblinfo.py +3 -24
  32. cribl_control_plane/models/healthstatus.py +4 -7
  33. cribl_control_plane/models/heartbeatmetadata.py +0 -3
  34. cribl_control_plane/models/input.py +63 -65
  35. cribl_control_plane/models/inputappscope.py +14 -34
  36. cribl_control_plane/models/inputazureblob.py +6 -17
  37. cribl_control_plane/models/inputcollection.py +4 -11
  38. cribl_control_plane/models/inputconfluentcloud.py +32 -41
  39. cribl_control_plane/models/inputcribl.py +4 -11
  40. cribl_control_plane/models/inputcriblhttp.py +8 -23
  41. cribl_control_plane/models/inputcribllakehttp.py +10 -22
  42. cribl_control_plane/models/inputcriblmetrics.py +4 -12
  43. cribl_control_plane/models/inputcribltcp.py +8 -23
  44. cribl_control_plane/models/inputcrowdstrike.py +10 -26
  45. cribl_control_plane/models/inputdatadogagent.py +8 -24
  46. cribl_control_plane/models/inputdatagen.py +4 -11
  47. cribl_control_plane/models/inputedgeprometheus.py +24 -58
  48. cribl_control_plane/models/inputelastic.py +14 -40
  49. cribl_control_plane/models/inputeventhub.py +6 -15
  50. cribl_control_plane/models/inputexec.py +6 -14
  51. cribl_control_plane/models/inputfile.py +6 -15
  52. cribl_control_plane/models/inputfirehose.py +8 -23
  53. cribl_control_plane/models/inputgooglepubsub.py +6 -19
  54. cribl_control_plane/models/inputgrafana.py +24 -67
  55. cribl_control_plane/models/inputhttp.py +8 -23
  56. cribl_control_plane/models/inputhttpraw.py +8 -23
  57. cribl_control_plane/models/inputjournalfiles.py +4 -12
  58. cribl_control_plane/models/inputkafka.py +28 -41
  59. cribl_control_plane/models/inputkinesis.py +14 -38
  60. cribl_control_plane/models/inputkubeevents.py +4 -11
  61. cribl_control_plane/models/inputkubelogs.py +8 -16
  62. cribl_control_plane/models/inputkubemetrics.py +8 -16
  63. cribl_control_plane/models/inputloki.py +10 -29
  64. cribl_control_plane/models/inputmetrics.py +8 -23
  65. cribl_control_plane/models/inputmodeldriventelemetry.py +10 -32
  66. cribl_control_plane/models/inputmsk.py +30 -48
  67. cribl_control_plane/models/inputnetflow.py +4 -11
  68. cribl_control_plane/models/inputoffice365mgmt.py +14 -33
  69. cribl_control_plane/models/inputoffice365msgtrace.py +16 -35
  70. cribl_control_plane/models/inputoffice365service.py +16 -35
  71. cribl_control_plane/models/inputopentelemetry.py +16 -38
  72. cribl_control_plane/models/inputprometheus.py +18 -50
  73. cribl_control_plane/models/inputprometheusrw.py +10 -30
  74. cribl_control_plane/models/inputrawudp.py +4 -11
  75. cribl_control_plane/models/inputs3.py +8 -21
  76. cribl_control_plane/models/inputs3inventory.py +10 -26
  77. cribl_control_plane/models/inputsecuritylake.py +10 -27
  78. cribl_control_plane/models/inputsnmp.py +6 -16
  79. cribl_control_plane/models/inputsplunk.py +12 -33
  80. cribl_control_plane/models/inputsplunkhec.py +10 -29
  81. cribl_control_plane/models/inputsplunksearch.py +14 -33
  82. cribl_control_plane/models/inputsqs.py +10 -27
  83. cribl_control_plane/models/inputsyslog.py +16 -43
  84. cribl_control_plane/models/inputsystemmetrics.py +24 -48
  85. cribl_control_plane/models/inputsystemstate.py +8 -16
  86. cribl_control_plane/models/inputtcp.py +10 -29
  87. cribl_control_plane/models/inputtcpjson.py +10 -29
  88. cribl_control_plane/models/inputwef.py +14 -37
  89. cribl_control_plane/models/inputwindowsmetrics.py +24 -44
  90. cribl_control_plane/models/inputwineventlogs.py +10 -20
  91. cribl_control_plane/models/inputwiz.py +8 -21
  92. cribl_control_plane/models/inputwizwebhook.py +8 -23
  93. cribl_control_plane/models/inputzscalerhec.py +10 -29
  94. cribl_control_plane/models/lakehouseconnectiontype.py +1 -2
  95. cribl_control_plane/models/listconfiggroupbyproductop.py +1 -3
  96. cribl_control_plane/models/masterworkerentry.py +2 -7
  97. cribl_control_plane/models/nodeactiveupgradestatus.py +1 -2
  98. cribl_control_plane/models/nodefailedupgradestatus.py +1 -2
  99. cribl_control_plane/models/nodeprovidedinfo.py +0 -3
  100. cribl_control_plane/models/nodeskippedupgradestatus.py +1 -2
  101. cribl_control_plane/models/nodeupgradestate.py +1 -2
  102. cribl_control_plane/models/nodeupgradestatus.py +5 -13
  103. cribl_control_plane/models/output.py +79 -84
  104. cribl_control_plane/models/outputazureblob.py +18 -48
  105. cribl_control_plane/models/outputazuredataexplorer.py +28 -73
  106. cribl_control_plane/models/outputazureeventhub.py +18 -40
  107. cribl_control_plane/models/outputazurelogs.py +12 -35
  108. cribl_control_plane/models/outputclickhouse.py +20 -55
  109. cribl_control_plane/models/outputcloudwatch.py +10 -29
  110. cribl_control_plane/models/outputconfluentcloud.py +44 -71
  111. cribl_control_plane/models/outputcriblhttp.py +16 -44
  112. cribl_control_plane/models/outputcribllake.py +16 -46
  113. cribl_control_plane/models/outputcribltcp.py +18 -45
  114. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +14 -49
  115. cribl_control_plane/models/outputdatadog.py +20 -48
  116. cribl_control_plane/models/outputdataset.py +18 -46
  117. cribl_control_plane/models/outputdiskspool.py +2 -7
  118. cribl_control_plane/models/outputdls3.py +24 -68
  119. cribl_control_plane/models/outputdynatracehttp.py +20 -53
  120. cribl_control_plane/models/outputdynatraceotlp.py +22 -55
  121. cribl_control_plane/models/outputelastic.py +18 -43
  122. cribl_control_plane/models/outputelasticcloud.py +12 -36
  123. cribl_control_plane/models/outputexabeam.py +10 -29
  124. cribl_control_plane/models/outputfilesystem.py +14 -39
  125. cribl_control_plane/models/outputgooglechronicle.py +16 -50
  126. cribl_control_plane/models/outputgooglecloudlogging.py +18 -50
  127. cribl_control_plane/models/outputgooglecloudstorage.py +24 -66
  128. cribl_control_plane/models/outputgooglepubsub.py +10 -31
  129. cribl_control_plane/models/outputgrafanacloud.py +32 -97
  130. cribl_control_plane/models/outputgraphite.py +14 -31
  131. cribl_control_plane/models/outputhoneycomb.py +12 -35
  132. cribl_control_plane/models/outputhumiohec.py +16 -43
  133. cribl_control_plane/models/outputinfluxdb.py +16 -42
  134. cribl_control_plane/models/outputkafka.py +40 -69
  135. cribl_control_plane/models/outputkinesis.py +16 -40
  136. cribl_control_plane/models/outputloki.py +16 -41
  137. cribl_control_plane/models/outputminio.py +24 -65
  138. cribl_control_plane/models/outputmsk.py +42 -77
  139. cribl_control_plane/models/outputnewrelic.py +18 -43
  140. cribl_control_plane/models/outputnewrelicevents.py +14 -41
  141. cribl_control_plane/models/outputopentelemetry.py +26 -67
  142. cribl_control_plane/models/outputprometheus.py +12 -35
  143. cribl_control_plane/models/outputring.py +8 -19
  144. cribl_control_plane/models/outputs3.py +26 -68
  145. cribl_control_plane/models/outputsecuritylake.py +18 -52
  146. cribl_control_plane/models/outputsentinel.py +18 -45
  147. cribl_control_plane/models/outputsentineloneaisiem.py +18 -50
  148. cribl_control_plane/models/outputservicenow.py +24 -60
  149. cribl_control_plane/models/outputsignalfx.py +14 -37
  150. cribl_control_plane/models/outputsns.py +14 -36
  151. cribl_control_plane/models/outputsplunk.py +24 -60
  152. cribl_control_plane/models/outputsplunkhec.py +12 -35
  153. cribl_control_plane/models/outputsplunklb.py +30 -77
  154. cribl_control_plane/models/outputsqs.py +16 -41
  155. cribl_control_plane/models/outputstatsd.py +14 -30
  156. cribl_control_plane/models/outputstatsdext.py +12 -29
  157. cribl_control_plane/models/outputsumologic.py +12 -35
  158. cribl_control_plane/models/outputsyslog.py +24 -58
  159. cribl_control_plane/models/outputtcpjson.py +20 -52
  160. cribl_control_plane/models/outputwavefront.py +12 -35
  161. cribl_control_plane/models/outputwebhook.py +22 -58
  162. cribl_control_plane/models/outputxsiam.py +14 -35
  163. cribl_control_plane/models/productscore.py +1 -2
  164. cribl_control_plane/models/rbacresource.py +1 -2
  165. cribl_control_plane/models/resourcepolicy.py +2 -4
  166. cribl_control_plane/models/routecloneconf.py +13 -0
  167. cribl_control_plane/models/routeconf.py +4 -3
  168. cribl_control_plane/models/runnablejobcollection.py +13 -30
  169. cribl_control_plane/models/runnablejobexecutor.py +4 -13
  170. cribl_control_plane/models/runnablejobscheduledsearch.py +2 -7
  171. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +2 -8
  172. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +2 -8
  173. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -6
  174. cribl_control_plane/models/workertypes.py +1 -2
  175. {cribl_control_plane-0.0.50rc2.dist-info → cribl_control_plane-0.0.52.dist-info}/METADATA +14 -12
  176. cribl_control_plane-0.0.52.dist-info/RECORD +325 -0
  177. cribl_control_plane/models/error.py +0 -16
  178. cribl_control_plane/models/gethealthinfoop.py +0 -17
  179. cribl_control_plane/models/gitshowresult.py +0 -19
  180. cribl_control_plane/models/outputdatabricks.py +0 -282
  181. cribl_control_plane-0.0.50rc2.dist-info/RECORD +0 -327
  182. {cribl_control_plane-0.0.50rc2.dist-info → cribl_control_plane-0.0.52.dist-info}/WHEEL +0 -0
@@ -1,12 +1,9 @@
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
 
@@ -26,14 +23,14 @@ class InputOffice365MsgTraceConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365MsgTraceMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365MsgTraceMode(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 InputOffice365MsgTraceCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365MsgTraceCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputOffice365MsgTracePqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputOffice365MsgTracePq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputOffice365MsgTraceMode], PlainValidator(validate_open_enum(False))
72
- ] = InputOffice365MsgTraceMode.ALWAYS
67
+ mode: Optional[InputOffice365MsgTraceMode] = InputOffice365MsgTraceMode.ALWAYS
73
68
  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."""
74
69
 
75
70
  max_buffer_size: Annotated[
@@ -93,10 +88,9 @@ class InputOffice365MsgTracePq(BaseModel):
93
88
  path: Optional[str] = "$CRIBL_HOME/state/queues"
94
89
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
95
90
 
96
- compress: Annotated[
97
- Optional[InputOffice365MsgTraceCompression],
98
- PlainValidator(validate_open_enum(False)),
99
- ] = InputOffice365MsgTraceCompression.NONE
91
+ compress: Optional[InputOffice365MsgTraceCompression] = (
92
+ InputOffice365MsgTraceCompression.NONE
93
+ )
100
94
  r"""Codec to use to compress the persisted data"""
101
95
 
102
96
  pq_controls: Annotated[
@@ -104,9 +98,7 @@ class InputOffice365MsgTracePq(BaseModel):
104
98
  ] = None
105
99
 
106
100
 
107
- class InputOffice365MsgTraceAuthenticationMethod(
108
- str, Enum, metaclass=utils.OpenEnumMeta
109
- ):
101
+ class InputOffice365MsgTraceAuthenticationMethod(str, Enum):
110
102
  r"""Select authentication method."""
111
103
 
112
104
  MANUAL = "manual"
@@ -116,7 +108,7 @@ class InputOffice365MsgTraceAuthenticationMethod(
116
108
  OAUTH_CERT = "oauthCert"
117
109
 
118
110
 
119
- class InputOffice365MsgTraceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
111
+ class InputOffice365MsgTraceLogLevel(str, Enum):
120
112
  r"""Log Level (verbosity) for collection runtime behavior."""
121
113
 
122
114
  ERROR = "error"
@@ -139,7 +131,7 @@ class InputOffice365MsgTraceMetadatum(BaseModel):
139
131
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
140
132
 
141
133
 
142
- class InputOffice365MsgTraceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
134
+ class InputOffice365MsgTraceRetryType(str, Enum):
143
135
  r"""The algorithm to use when performing HTTP retries"""
144
136
 
145
137
  NONE = "none"
@@ -167,10 +159,9 @@ class InputOffice365MsgTraceRetryRulesTypedDict(TypedDict):
167
159
 
168
160
 
169
161
  class InputOffice365MsgTraceRetryRules(BaseModel):
170
- type: Annotated[
171
- Optional[InputOffice365MsgTraceRetryType],
172
- PlainValidator(validate_open_enum(False)),
173
- ] = InputOffice365MsgTraceRetryType.BACKOFF
162
+ type: Optional[InputOffice365MsgTraceRetryType] = (
163
+ InputOffice365MsgTraceRetryType.BACKOFF
164
+ )
174
165
  r"""The algorithm to use when performing HTTP retries"""
175
166
 
176
167
  interval: Optional[float] = 1000
@@ -201,7 +192,7 @@ class InputOffice365MsgTraceRetryRules(BaseModel):
201
192
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
202
193
 
203
194
 
204
- class InputOffice365MsgTraceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
195
+ class InputOffice365MsgTraceSubscriptionPlan(str, Enum):
205
196
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
206
197
 
207
198
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -363,10 +354,7 @@ class InputOffice365MsgTrace(BaseModel):
363
354
  r"""Disables time filtering of events when a date range is specified."""
364
355
 
365
356
  auth_type: Annotated[
366
- Annotated[
367
- Optional[InputOffice365MsgTraceAuthenticationMethod],
368
- PlainValidator(validate_open_enum(False)),
369
- ],
357
+ Optional[InputOffice365MsgTraceAuthenticationMethod],
370
358
  pydantic.Field(alias="authType"),
371
359
  ] = InputOffice365MsgTraceAuthenticationMethod.OAUTH
372
360
  r"""Select authentication method."""
@@ -382,11 +370,7 @@ class InputOffice365MsgTrace(BaseModel):
382
370
  r"""Maximum number of times a task can be rescheduled"""
383
371
 
384
372
  log_level: Annotated[
385
- Annotated[
386
- Optional[InputOffice365MsgTraceLogLevel],
387
- PlainValidator(validate_open_enum(False)),
388
- ],
389
- pydantic.Field(alias="logLevel"),
373
+ Optional[InputOffice365MsgTraceLogLevel], pydantic.Field(alias="logLevel")
390
374
  ] = InputOffice365MsgTraceLogLevel.INFO
391
375
  r"""Log Level (verbosity) for collection runtime behavior."""
392
376
 
@@ -444,10 +428,7 @@ class InputOffice365MsgTrace(BaseModel):
444
428
  r"""Resource to pass in the OAuth request parameter."""
445
429
 
446
430
  plan_type: Annotated[
447
- Annotated[
448
- Optional[InputOffice365MsgTraceSubscriptionPlan],
449
- PlainValidator(validate_open_enum(False)),
450
- ],
431
+ Optional[InputOffice365MsgTraceSubscriptionPlan],
451
432
  pydantic.Field(alias="planType"),
452
433
  ] = InputOffice365MsgTraceSubscriptionPlan.ENTERPRISE_GCC
453
434
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -1,12 +1,9 @@
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
 
@@ -26,14 +23,14 @@ class InputOffice365ServiceConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365ServiceMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365ServiceMode(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 InputOffice365ServiceCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365ServiceCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputOffice365ServicePqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputOffice365ServicePq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputOffice365ServiceMode], PlainValidator(validate_open_enum(False))
72
- ] = InputOffice365ServiceMode.ALWAYS
67
+ mode: Optional[InputOffice365ServiceMode] = InputOffice365ServiceMode.ALWAYS
73
68
  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."""
74
69
 
75
70
  max_buffer_size: Annotated[
@@ -93,10 +88,9 @@ class InputOffice365ServicePq(BaseModel):
93
88
  path: Optional[str] = "$CRIBL_HOME/state/queues"
94
89
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
95
90
 
96
- compress: Annotated[
97
- Optional[InputOffice365ServiceCompression],
98
- PlainValidator(validate_open_enum(False)),
99
- ] = InputOffice365ServiceCompression.NONE
91
+ compress: Optional[InputOffice365ServiceCompression] = (
92
+ InputOffice365ServiceCompression.NONE
93
+ )
100
94
  r"""Codec to use to compress the persisted data"""
101
95
 
102
96
  pq_controls: Annotated[
@@ -104,7 +98,7 @@ class InputOffice365ServicePq(BaseModel):
104
98
  ] = None
105
99
 
106
100
 
107
- class InputOffice365ServiceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
101
+ class InputOffice365ServiceSubscriptionPlan(str, Enum):
108
102
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
109
103
 
110
104
  ENTERPRISE_GCC = "enterprise_gcc"
@@ -126,7 +120,7 @@ class InputOffice365ServiceMetadatum(BaseModel):
126
120
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
127
121
 
128
122
 
129
- class InputOffice365ServiceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ class InputOffice365ServiceLogLevel(str, Enum):
130
124
  r"""Collector runtime Log Level"""
131
125
 
132
126
  ERROR = "error"
@@ -156,18 +150,14 @@ class InputOffice365ServiceContentConfig(BaseModel):
156
150
  interval: Optional[float] = None
157
151
 
158
152
  log_level: Annotated[
159
- Annotated[
160
- Optional[InputOffice365ServiceLogLevel],
161
- PlainValidator(validate_open_enum(False)),
162
- ],
163
- pydantic.Field(alias="logLevel"),
153
+ Optional[InputOffice365ServiceLogLevel], pydantic.Field(alias="logLevel")
164
154
  ] = None
165
155
  r"""Collector runtime Log Level"""
166
156
 
167
157
  enabled: Optional[bool] = None
168
158
 
169
159
 
170
- class InputOffice365ServiceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
160
+ class InputOffice365ServiceRetryType(str, Enum):
171
161
  r"""The algorithm to use when performing HTTP retries"""
172
162
 
173
163
  NONE = "none"
@@ -195,10 +185,9 @@ class InputOffice365ServiceRetryRulesTypedDict(TypedDict):
195
185
 
196
186
 
197
187
  class InputOffice365ServiceRetryRules(BaseModel):
198
- type: Annotated[
199
- Optional[InputOffice365ServiceRetryType],
200
- PlainValidator(validate_open_enum(False)),
201
- ] = InputOffice365ServiceRetryType.BACKOFF
188
+ type: Optional[InputOffice365ServiceRetryType] = (
189
+ InputOffice365ServiceRetryType.BACKOFF
190
+ )
202
191
  r"""The algorithm to use when performing HTTP retries"""
203
192
 
204
193
  interval: Optional[float] = 1000
@@ -229,9 +218,7 @@ class InputOffice365ServiceRetryRules(BaseModel):
229
218
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
230
219
 
231
220
 
232
- class InputOffice365ServiceAuthenticationMethod(
233
- str, Enum, metaclass=utils.OpenEnumMeta
234
- ):
221
+ class InputOffice365ServiceAuthenticationMethod(str, Enum):
235
222
  r"""Enter client secret directly, or select a stored secret"""
236
223
 
237
224
  MANUAL = "manual"
@@ -325,10 +312,7 @@ class InputOffice365Service(BaseModel):
325
312
  pq: Optional[InputOffice365ServicePq] = None
326
313
 
327
314
  plan_type: Annotated[
328
- Annotated[
329
- Optional[InputOffice365ServiceSubscriptionPlan],
330
- PlainValidator(validate_open_enum(False)),
331
- ],
315
+ Optional[InputOffice365ServiceSubscriptionPlan],
332
316
  pydantic.Field(alias="planType"),
333
317
  ] = InputOffice365ServiceSubscriptionPlan.ENTERPRISE_GCC
334
318
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -371,10 +355,7 @@ class InputOffice365Service(BaseModel):
371
355
  ] = None
372
356
 
373
357
  auth_type: Annotated[
374
- Annotated[
375
- Optional[InputOffice365ServiceAuthenticationMethod],
376
- PlainValidator(validate_open_enum(False)),
377
- ],
358
+ Optional[InputOffice365ServiceAuthenticationMethod],
378
359
  pydantic.Field(alias="authType"),
379
360
  ] = InputOffice365ServiceAuthenticationMethod.MANUAL
380
361
  r"""Enter client secret directly, or select a stored secret"""
@@ -1,12 +1,9 @@
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
 
@@ -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"
@@ -67,9 +64,7 @@ class InputOpenTelemetryPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputOpenTelemetryPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputOpenTelemetryMode], PlainValidator(validate_open_enum(False))
72
- ] = InputOpenTelemetryMode.ALWAYS
67
+ mode: Optional[InputOpenTelemetryMode] = InputOpenTelemetryMode.ALWAYS
73
68
  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."""
74
69
 
75
70
  max_buffer_size: Annotated[
@@ -93,10 +88,9 @@ class InputOpenTelemetryPq(BaseModel):
93
88
  path: Optional[str] = "$CRIBL_HOME/state/queues"
94
89
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
95
90
 
96
- compress: Annotated[
97
- Optional[InputOpenTelemetryCompression],
98
- PlainValidator(validate_open_enum(False)),
99
- ] = InputOpenTelemetryCompression.NONE
91
+ compress: Optional[InputOpenTelemetryCompression] = (
92
+ InputOpenTelemetryCompression.NONE
93
+ )
100
94
  r"""Codec to use to compress the persisted data"""
101
95
 
102
96
  pq_controls: Annotated[
@@ -104,14 +98,14 @@ class InputOpenTelemetryPq(BaseModel):
104
98
  ] = None
105
99
 
106
100
 
107
- class InputOpenTelemetryMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
101
+ class InputOpenTelemetryMinimumTLSVersion(str, Enum):
108
102
  TL_SV1 = "TLSv1"
109
103
  TL_SV1_1 = "TLSv1.1"
110
104
  TL_SV1_2 = "TLSv1.2"
111
105
  TL_SV1_3 = "TLSv1.3"
112
106
 
113
107
 
114
- class InputOpenTelemetryMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
108
+ class InputOpenTelemetryMaximumTLSVersion(str, Enum):
115
109
  TL_SV1 = "TLSv1"
116
110
  TL_SV1_1 = "TLSv1.1"
117
111
  TL_SV1_2 = "TLSv1.2"
@@ -170,37 +164,31 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
170
164
  ] = None
171
165
 
172
166
  min_version: Annotated[
173
- Annotated[
174
- Optional[InputOpenTelemetryMinimumTLSVersion],
175
- PlainValidator(validate_open_enum(False)),
176
- ],
167
+ Optional[InputOpenTelemetryMinimumTLSVersion],
177
168
  pydantic.Field(alias="minVersion"),
178
169
  ] = None
179
170
 
180
171
  max_version: Annotated[
181
- Annotated[
182
- Optional[InputOpenTelemetryMaximumTLSVersion],
183
- PlainValidator(validate_open_enum(False)),
184
- ],
172
+ Optional[InputOpenTelemetryMaximumTLSVersion],
185
173
  pydantic.Field(alias="maxVersion"),
186
174
  ] = None
187
175
 
188
176
 
189
- class InputOpenTelemetryProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
177
+ class InputOpenTelemetryProtocol(str, Enum):
190
178
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
191
179
 
192
180
  GRPC = "grpc"
193
181
  HTTP = "http"
194
182
 
195
183
 
196
- class InputOpenTelemetryOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
184
+ class InputOpenTelemetryOTLPVersion(str, Enum):
197
185
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
198
186
 
199
187
  ZERO_DOT_10_DOT_0 = "0.10.0"
200
188
  ONE_DOT_3_DOT_1 = "1.3.1"
201
189
 
202
190
 
203
- class InputOpenTelemetryAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
191
+ class InputOpenTelemetryAuthenticationType(str, Enum):
204
192
  r"""OpenTelemetry authentication type"""
205
193
 
206
194
  NONE = "none"
@@ -429,9 +417,7 @@ class InputOpenTelemetry(BaseModel):
429
417
  ] = "/^$/"
430
418
  r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
431
419
 
432
- protocol: Annotated[
433
- Optional[InputOpenTelemetryProtocol], PlainValidator(validate_open_enum(False))
434
- ] = InputOpenTelemetryProtocol.GRPC
420
+ protocol: Optional[InputOpenTelemetryProtocol] = InputOpenTelemetryProtocol.GRPC
435
421
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
436
422
 
437
423
  extract_spans: Annotated[Optional[bool], pydantic.Field(alias="extractSpans")] = (
@@ -445,20 +431,12 @@ class InputOpenTelemetry(BaseModel):
445
431
  r"""Enable to extract each incoming Gauge or IntGauge metric to multiple events, one per data point"""
446
432
 
447
433
  otlp_version: Annotated[
448
- Annotated[
449
- Optional[InputOpenTelemetryOTLPVersion],
450
- PlainValidator(validate_open_enum(False)),
451
- ],
452
- pydantic.Field(alias="otlpVersion"),
434
+ Optional[InputOpenTelemetryOTLPVersion], pydantic.Field(alias="otlpVersion")
453
435
  ] = InputOpenTelemetryOTLPVersion.ZERO_DOT_10_DOT_0
454
436
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
455
437
 
456
438
  auth_type: Annotated[
457
- Annotated[
458
- Optional[InputOpenTelemetryAuthenticationType],
459
- PlainValidator(validate_open_enum(False)),
460
- ],
461
- pydantic.Field(alias="authType"),
439
+ Optional[InputOpenTelemetryAuthenticationType], pydantic.Field(alias="authType")
462
440
  ] = InputOpenTelemetryAuthenticationType.NONE
463
441
  r"""OpenTelemetry authentication type"""
464
442
 
@@ -1,12 +1,9 @@
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
 
@@ -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"
@@ -67,9 +64,7 @@ class InputPrometheusPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputPrometheusPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputPrometheusMode], PlainValidator(validate_open_enum(False))
72
- ] = InputPrometheusMode.ALWAYS
67
+ mode: Optional[InputPrometheusMode] = InputPrometheusMode.ALWAYS
73
68
  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."""
74
69
 
75
70
  max_buffer_size: Annotated[
@@ -93,9 +88,7 @@ class InputPrometheusPq(BaseModel):
93
88
  path: Optional[str] = "$CRIBL_HOME/state/queues"
94
89
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
95
90
 
96
- compress: Annotated[
97
- Optional[InputPrometheusCompression], PlainValidator(validate_open_enum(False))
98
- ] = InputPrometheusCompression.NONE
91
+ compress: Optional[InputPrometheusCompression] = InputPrometheusCompression.NONE
99
92
  r"""Codec to use to compress the persisted data"""
100
93
 
101
94
  pq_controls: Annotated[
@@ -103,7 +96,7 @@ class InputPrometheusPq(BaseModel):
103
96
  ] = None
104
97
 
105
98
 
106
- class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
99
+ class InputPrometheusDiscoveryType(str, Enum):
107
100
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
108
101
 
109
102
  STATIC = "static"
@@ -111,7 +104,7 @@ class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
111
104
  EC2 = "ec2"
112
105
 
113
106
 
114
- class InputPrometheusLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
107
+ class InputPrometheusLogLevel(str, Enum):
115
108
  r"""Collector runtime Log Level"""
116
109
 
117
110
  ERROR = "error"
@@ -133,16 +126,14 @@ class InputPrometheusMetadatum(BaseModel):
133
126
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
134
127
 
135
128
 
136
- class InputPrometheusAuthTypeAuthenticationMethod(
137
- str, Enum, metaclass=utils.OpenEnumMeta
138
- ):
129
+ class InputPrometheusAuthTypeAuthenticationMethod(str, Enum):
139
130
  r"""Enter credentials directly, or select a stored secret"""
140
131
 
141
132
  MANUAL = "manual"
142
133
  SECRET = "secret"
143
134
 
144
135
 
145
- class InputPrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
136
+ class InputPrometheusRecordType(str, Enum):
146
137
  r"""DNS Record type to resolve"""
147
138
 
148
139
  SRV = "SRV"
@@ -150,7 +141,7 @@ class InputPrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
150
141
  AAAA = "AAAA"
151
142
 
152
143
 
153
- class MetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
144
+ class MetricsProtocol(str, Enum):
154
145
  r"""Protocol to use when collecting metrics"""
155
146
 
156
147
  HTTP = "http"
@@ -172,9 +163,7 @@ class InputPrometheusSearchFilter(BaseModel):
172
163
  r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
173
164
 
174
165
 
175
- class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
176
- str, Enum, metaclass=utils.OpenEnumMeta
177
- ):
166
+ class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(str, Enum):
178
167
  r"""AWS authentication method. Choose Auto to use IAM roles."""
179
168
 
180
169
  AUTO = "auto"
@@ -182,7 +171,7 @@ class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
182
171
  SECRET = "secret"
183
172
 
184
173
 
185
- class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
174
+ class InputPrometheusSignatureVersion(str, Enum):
186
175
  r"""Signature version to use for signing EC2 requests"""
187
176
 
188
177
  V2 = "v2"
@@ -313,11 +302,7 @@ class InputPrometheus(BaseModel):
313
302
  r"""Other dimensions to include in events"""
314
303
 
315
304
  discovery_type: Annotated[
316
- Annotated[
317
- Optional[InputPrometheusDiscoveryType],
318
- PlainValidator(validate_open_enum(False)),
319
- ],
320
- pydantic.Field(alias="discoveryType"),
305
+ Optional[InputPrometheusDiscoveryType], pydantic.Field(alias="discoveryType")
321
306
  ] = InputPrometheusDiscoveryType.STATIC
322
307
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
323
308
 
@@ -325,10 +310,7 @@ class InputPrometheus(BaseModel):
325
310
  r"""How often in minutes to scrape targets for metrics, 60 must be evenly divisible by the value or save will fail."""
326
311
 
327
312
  log_level: Annotated[
328
- Annotated[
329
- Optional[InputPrometheusLogLevel], PlainValidator(validate_open_enum(False))
330
- ],
331
- pydantic.Field(alias="logLevel"),
313
+ Optional[InputPrometheusLogLevel], pydantic.Field(alias="logLevel")
332
314
  ] = InputPrometheusLogLevel.INFO
333
315
  r"""Collector runtime Log Level"""
334
316
 
@@ -362,10 +344,7 @@ class InputPrometheus(BaseModel):
362
344
  r"""Fields to add to events from this input"""
363
345
 
364
346
  auth_type: Annotated[
365
- Annotated[
366
- Optional[InputPrometheusAuthTypeAuthenticationMethod],
367
- PlainValidator(validate_open_enum(False)),
368
- ],
347
+ Optional[InputPrometheusAuthTypeAuthenticationMethod],
369
348
  pydantic.Field(alias="authType"),
370
349
  ] = InputPrometheusAuthTypeAuthenticationMethod.MANUAL
371
350
  r"""Enter credentials directly, or select a stored secret"""
@@ -381,17 +360,12 @@ class InputPrometheus(BaseModel):
381
360
  r"""List of DNS names to resolve"""
382
361
 
383
362
  record_type: Annotated[
384
- Annotated[
385
- Optional[InputPrometheusRecordType],
386
- PlainValidator(validate_open_enum(False)),
387
- ],
388
- pydantic.Field(alias="recordType"),
363
+ Optional[InputPrometheusRecordType], pydantic.Field(alias="recordType")
389
364
  ] = InputPrometheusRecordType.SRV
390
365
  r"""DNS Record type to resolve"""
391
366
 
392
367
  scrape_protocol: Annotated[
393
- Annotated[Optional[MetricsProtocol], PlainValidator(validate_open_enum(False))],
394
- pydantic.Field(alias="scrapeProtocol"),
368
+ Optional[MetricsProtocol], pydantic.Field(alias="scrapeProtocol")
395
369
  ] = MetricsProtocol.HTTP
396
370
  r"""Protocol to use when collecting metrics"""
397
371
 
@@ -413,10 +387,7 @@ class InputPrometheus(BaseModel):
413
387
  r"""EC2 Instance Search Filter"""
414
388
 
415
389
  aws_authentication_method: Annotated[
416
- Annotated[
417
- Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
418
- PlainValidator(validate_open_enum(False)),
419
- ],
390
+ Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
420
391
  pydantic.Field(alias="awsAuthenticationMethod"),
421
392
  ] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
422
393
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -432,10 +403,7 @@ class InputPrometheus(BaseModel):
432
403
  r"""EC2 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to EC2-compatible endpoint."""
433
404
 
434
405
  signature_version: Annotated[
435
- Annotated[
436
- Optional[InputPrometheusSignatureVersion],
437
- PlainValidator(validate_open_enum(False)),
438
- ],
406
+ Optional[InputPrometheusSignatureVersion],
439
407
  pydantic.Field(alias="signatureVersion"),
440
408
  ] = InputPrometheusSignatureVersion.V4
441
409
  r"""Signature version to use for signing EC2 requests"""