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 Any, List, Optional
11
8
  from typing_extensions import Annotated, NotRequired, TypedDict
12
9
 
@@ -26,14 +23,14 @@ class InputMetricsConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputMetricsMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputMetricsMode(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 InputMetricsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputMetricsCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputMetricsPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputMetricsPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputMetricsMode], PlainValidator(validate_open_enum(False))
72
- ] = InputMetricsMode.ALWAYS
67
+ mode: Optional[InputMetricsMode] = InputMetricsMode.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 InputMetricsPq(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[InputMetricsCompression], PlainValidator(validate_open_enum(False))
98
- ] = InputMetricsCompression.NONE
91
+ compress: Optional[InputMetricsCompression] = InputMetricsCompression.NONE
99
92
  r"""Codec to use to compress the persisted data"""
100
93
 
101
94
  pq_controls: Annotated[
@@ -103,14 +96,14 @@ class InputMetricsPq(BaseModel):
103
96
  ] = None
104
97
 
105
98
 
106
- class InputMetricsMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
99
+ class InputMetricsMinimumTLSVersion(str, Enum):
107
100
  TL_SV1 = "TLSv1"
108
101
  TL_SV1_1 = "TLSv1.1"
109
102
  TL_SV1_2 = "TLSv1.2"
110
103
  TL_SV1_3 = "TLSv1.3"
111
104
 
112
105
 
113
- class InputMetricsMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
106
+ class InputMetricsMaximumTLSVersion(str, Enum):
114
107
  TL_SV1 = "TLSv1"
115
108
  TL_SV1_1 = "TLSv1.1"
116
109
  TL_SV1_2 = "TLSv1.2"
@@ -169,19 +162,11 @@ class InputMetricsTLSSettingsServerSide(BaseModel):
169
162
  ] = None
170
163
 
171
164
  min_version: Annotated[
172
- Annotated[
173
- Optional[InputMetricsMinimumTLSVersion],
174
- PlainValidator(validate_open_enum(False)),
175
- ],
176
- pydantic.Field(alias="minVersion"),
165
+ Optional[InputMetricsMinimumTLSVersion], pydantic.Field(alias="minVersion")
177
166
  ] = None
178
167
 
179
168
  max_version: Annotated[
180
- Annotated[
181
- Optional[InputMetricsMaximumTLSVersion],
182
- PlainValidator(validate_open_enum(False)),
183
- ],
184
- pydantic.Field(alias="maxVersion"),
169
+ Optional[InputMetricsMaximumTLSVersion], pydantic.Field(alias="maxVersion")
185
170
  ] = None
186
171
 
187
172
 
@@ -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 InputModelDrivenTelemetryConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputModelDrivenTelemetryMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputModelDrivenTelemetryMode(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 InputModelDrivenTelemetryCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputModelDrivenTelemetryCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,10 +64,7 @@ class InputModelDrivenTelemetryPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputModelDrivenTelemetryPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputModelDrivenTelemetryMode],
72
- PlainValidator(validate_open_enum(False)),
73
- ] = InputModelDrivenTelemetryMode.ALWAYS
67
+ mode: Optional[InputModelDrivenTelemetryMode] = InputModelDrivenTelemetryMode.ALWAYS
74
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."""
75
69
 
76
70
  max_buffer_size: Annotated[
@@ -94,10 +88,9 @@ class InputModelDrivenTelemetryPq(BaseModel):
94
88
  path: Optional[str] = "$CRIBL_HOME/state/queues"
95
89
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
96
90
 
97
- compress: Annotated[
98
- Optional[InputModelDrivenTelemetryCompression],
99
- PlainValidator(validate_open_enum(False)),
100
- ] = InputModelDrivenTelemetryCompression.NONE
91
+ compress: Optional[InputModelDrivenTelemetryCompression] = (
92
+ InputModelDrivenTelemetryCompression.NONE
93
+ )
101
94
  r"""Codec to use to compress the persisted data"""
102
95
 
103
96
  pq_controls: Annotated[
@@ -106,18 +99,14 @@ class InputModelDrivenTelemetryPq(BaseModel):
106
99
  ] = None
107
100
 
108
101
 
109
- class InputModelDrivenTelemetryMinimumTLSVersion(
110
- str, Enum, metaclass=utils.OpenEnumMeta
111
- ):
102
+ class InputModelDrivenTelemetryMinimumTLSVersion(str, Enum):
112
103
  TL_SV1 = "TLSv1"
113
104
  TL_SV1_1 = "TLSv1.1"
114
105
  TL_SV1_2 = "TLSv1.2"
115
106
  TL_SV1_3 = "TLSv1.3"
116
107
 
117
108
 
118
- class InputModelDrivenTelemetryMaximumTLSVersion(
119
- str, Enum, metaclass=utils.OpenEnumMeta
120
- ):
109
+ class InputModelDrivenTelemetryMaximumTLSVersion(str, Enum):
121
110
  TL_SV1 = "TLSv1"
122
111
  TL_SV1_1 = "TLSv1.1"
123
112
  TL_SV1_2 = "TLSv1.2"
@@ -130,8 +119,6 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
130
119
  r"""The name of the predefined certificate"""
131
120
  priv_key_path: NotRequired[str]
132
121
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
133
- passphrase: NotRequired[str]
134
- r"""Passphrase to use to decrypt private key"""
135
122
  cert_path: NotRequired[str]
136
123
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
137
124
  ca_path: NotRequired[str]
@@ -155,9 +142,6 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
155
142
  priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
156
143
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
157
144
 
158
- passphrase: Optional[str] = None
159
- r"""Passphrase to use to decrypt private key"""
160
-
161
145
  cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
162
146
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
163
147
 
@@ -176,18 +160,12 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
176
160
  ] = None
177
161
 
178
162
  min_version: Annotated[
179
- Annotated[
180
- Optional[InputModelDrivenTelemetryMinimumTLSVersion],
181
- PlainValidator(validate_open_enum(False)),
182
- ],
163
+ Optional[InputModelDrivenTelemetryMinimumTLSVersion],
183
164
  pydantic.Field(alias="minVersion"),
184
165
  ] = None
185
166
 
186
167
  max_version: Annotated[
187
- Annotated[
188
- Optional[InputModelDrivenTelemetryMaximumTLSVersion],
189
- PlainValidator(validate_open_enum(False)),
190
- ],
168
+ Optional[InputModelDrivenTelemetryMaximumTLSVersion],
191
169
  pydantic.Field(alias="maxVersion"),
192
170
  ] = None
193
171
 
@@ -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 InputMskConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputMskMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputMskMode(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 InputMskCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputMskCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputMskPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputMskPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputMskMode], PlainValidator(validate_open_enum(False))
72
- ] = InputMskMode.ALWAYS
67
+ mode: Optional[InputMskMode] = InputMskMode.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 InputMskPq(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[InputMskCompression], PlainValidator(validate_open_enum(False))
98
- ] = InputMskCompression.NONE
91
+ compress: Optional[InputMskCompression] = InputMskCompression.NONE
99
92
  r"""Codec to use to compress the persisted data"""
100
93
 
101
94
  pq_controls: Annotated[
@@ -116,6 +109,13 @@ class InputMskMetadatum(BaseModel):
116
109
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
117
110
 
118
111
 
112
+ class InputMskSchemaType(str, Enum):
113
+ r"""The schema format used to encode and decode event data"""
114
+
115
+ AVRO = "avro"
116
+ JSON = "json"
117
+
118
+
119
119
  class InputMskAuthTypedDict(TypedDict):
120
120
  r"""Credentials to use when authenticating with the schema registry using basic HTTP authentication"""
121
121
 
@@ -135,18 +135,14 @@ class InputMskAuth(BaseModel):
135
135
  r"""Select or create a secret that references your credentials"""
136
136
 
137
137
 
138
- class InputMskKafkaSchemaRegistryMinimumTLSVersion(
139
- str, Enum, metaclass=utils.OpenEnumMeta
140
- ):
138
+ class InputMskKafkaSchemaRegistryMinimumTLSVersion(str, Enum):
141
139
  TL_SV1 = "TLSv1"
142
140
  TL_SV1_1 = "TLSv1.1"
143
141
  TL_SV1_2 = "TLSv1.2"
144
142
  TL_SV1_3 = "TLSv1.3"
145
143
 
146
144
 
147
- class InputMskKafkaSchemaRegistryMaximumTLSVersion(
148
- str, Enum, metaclass=utils.OpenEnumMeta
149
- ):
145
+ class InputMskKafkaSchemaRegistryMaximumTLSVersion(str, Enum):
150
146
  TL_SV1 = "TLSv1"
151
147
  TL_SV1_1 = "TLSv1.1"
152
148
  TL_SV1_2 = "TLSv1.2"
@@ -206,18 +202,12 @@ class InputMskKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
206
202
  r"""Passphrase to use to decrypt private key"""
207
203
 
208
204
  min_version: Annotated[
209
- Annotated[
210
- Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
211
- PlainValidator(validate_open_enum(False)),
212
- ],
205
+ Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
213
206
  pydantic.Field(alias="minVersion"),
214
207
  ] = None
215
208
 
216
209
  max_version: Annotated[
217
- Annotated[
218
- Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
219
- PlainValidator(validate_open_enum(False)),
220
- ],
210
+ Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
221
211
  pydantic.Field(alias="maxVersion"),
222
212
  ] = None
223
213
 
@@ -226,6 +216,8 @@ class InputMskKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
226
216
  disabled: NotRequired[bool]
227
217
  schema_registry_url: NotRequired[str]
228
218
  r"""URL for accessing the Confluent Schema Registry. Example: http://localhost:8081. To connect over TLS, use https instead of http."""
219
+ schema_type: NotRequired[InputMskSchemaType]
220
+ r"""The schema format used to encode and decode event data"""
229
221
  connection_timeout: NotRequired[float]
230
222
  r"""Maximum time to wait for a Schema Registry connection to complete successfully"""
231
223
  request_timeout: NotRequired[float]
@@ -245,6 +237,11 @@ class InputMskKafkaSchemaRegistryAuthentication(BaseModel):
245
237
  ] = "http://localhost:8081"
246
238
  r"""URL for accessing the Confluent Schema Registry. Example: http://localhost:8081. To connect over TLS, use https instead of http."""
247
239
 
240
+ schema_type: Annotated[
241
+ Optional[InputMskSchemaType], pydantic.Field(alias="schemaType")
242
+ ] = InputMskSchemaType.AVRO
243
+ r"""The schema format used to encode and decode event data"""
244
+
248
245
  connection_timeout: Annotated[
249
246
  Optional[float], pydantic.Field(alias="connectionTimeout")
250
247
  ] = 30000
@@ -264,7 +261,7 @@ class InputMskKafkaSchemaRegistryAuthentication(BaseModel):
264
261
  tls: Optional[InputMskKafkaSchemaRegistryTLSSettingsClientSide] = None
265
262
 
266
263
 
267
- class InputMskAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
264
+ class InputMskAuthenticationMethod(str, Enum):
268
265
  r"""AWS authentication method. Choose Auto to use IAM roles."""
269
266
 
270
267
  AUTO = "auto"
@@ -272,21 +269,21 @@ class InputMskAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
272
269
  SECRET = "secret"
273
270
 
274
271
 
275
- class InputMskSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
272
+ class InputMskSignatureVersion(str, Enum):
276
273
  r"""Signature version to use for signing MSK cluster requests"""
277
274
 
278
275
  V2 = "v2"
279
276
  V4 = "v4"
280
277
 
281
278
 
282
- class InputMskMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
279
+ class InputMskMinimumTLSVersion(str, Enum):
283
280
  TL_SV1 = "TLSv1"
284
281
  TL_SV1_1 = "TLSv1.1"
285
282
  TL_SV1_2 = "TLSv1.2"
286
283
  TL_SV1_3 = "TLSv1.3"
287
284
 
288
285
 
289
- class InputMskMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
286
+ class InputMskMaximumTLSVersion(str, Enum):
290
287
  TL_SV1 = "TLSv1"
291
288
  TL_SV1_1 = "TLSv1.1"
292
289
  TL_SV1_2 = "TLSv1.2"
@@ -346,19 +343,11 @@ class InputMskTLSSettingsClientSide(BaseModel):
346
343
  r"""Passphrase to use to decrypt private key"""
347
344
 
348
345
  min_version: Annotated[
349
- Annotated[
350
- Optional[InputMskMinimumTLSVersion],
351
- PlainValidator(validate_open_enum(False)),
352
- ],
353
- pydantic.Field(alias="minVersion"),
346
+ Optional[InputMskMinimumTLSVersion], pydantic.Field(alias="minVersion")
354
347
  ] = None
355
348
 
356
349
  max_version: Annotated[
357
- Annotated[
358
- Optional[InputMskMaximumTLSVersion],
359
- PlainValidator(validate_open_enum(False)),
360
- ],
361
- pydantic.Field(alias="maxVersion"),
350
+ Optional[InputMskMaximumTLSVersion], pydantic.Field(alias="maxVersion")
362
351
  ] = None
363
352
 
364
353
 
@@ -580,10 +569,7 @@ class InputMsk(BaseModel):
580
569
  r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire."""
581
570
 
582
571
  aws_authentication_method: Annotated[
583
- Annotated[
584
- Optional[InputMskAuthenticationMethod],
585
- PlainValidator(validate_open_enum(False)),
586
- ],
572
+ Optional[InputMskAuthenticationMethod],
587
573
  pydantic.Field(alias="awsAuthenticationMethod"),
588
574
  ] = InputMskAuthenticationMethod.AUTO
589
575
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -596,11 +582,7 @@ class InputMsk(BaseModel):
596
582
  r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint."""
597
583
 
598
584
  signature_version: Annotated[
599
- Annotated[
600
- Optional[InputMskSignatureVersion],
601
- PlainValidator(validate_open_enum(False)),
602
- ],
603
- pydantic.Field(alias="signatureVersion"),
585
+ Optional[InputMskSignatureVersion], pydantic.Field(alias="signatureVersion")
604
586
  ] = InputMskSignatureVersion.V4
605
587
  r"""Signature version to use for signing MSK cluster requests"""
606
588
 
@@ -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 InputNetflowConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputNetflowMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputNetflowMode(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 InputNetflowCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputNetflowCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputNetflowPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputNetflowPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputNetflowMode], PlainValidator(validate_open_enum(False))
72
- ] = InputNetflowMode.ALWAYS
67
+ mode: Optional[InputNetflowMode] = InputNetflowMode.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 InputNetflowPq(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[InputNetflowCompression], PlainValidator(validate_open_enum(False))
98
- ] = InputNetflowCompression.NONE
91
+ compress: Optional[InputNetflowCompression] = InputNetflowCompression.NONE
99
92
  r"""Codec to use to compress the persisted data"""
100
93
 
101
94
  pq_controls: Annotated[
@@ -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 InputOffice365MgmtConnection(BaseModel):
26
23
  pipeline: Optional[str] = None
27
24
 
28
25
 
29
- class InputOffice365MgmtMode(str, Enum, metaclass=utils.OpenEnumMeta):
26
+ class InputOffice365MgmtMode(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 InputOffice365MgmtCompression(str, Enum, metaclass=utils.OpenEnumMeta):
33
+ class InputOffice365MgmtCompression(str, Enum):
37
34
  r"""Codec to use to compress the persisted data"""
38
35
 
39
36
  NONE = "none"
@@ -67,9 +64,7 @@ class InputOffice365MgmtPqTypedDict(TypedDict):
67
64
 
68
65
 
69
66
  class InputOffice365MgmtPq(BaseModel):
70
- mode: Annotated[
71
- Optional[InputOffice365MgmtMode], PlainValidator(validate_open_enum(False))
72
- ] = InputOffice365MgmtMode.ALWAYS
67
+ mode: Optional[InputOffice365MgmtMode] = InputOffice365MgmtMode.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 InputOffice365MgmtPq(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[InputOffice365MgmtCompression],
98
- PlainValidator(validate_open_enum(False)),
99
- ] = InputOffice365MgmtCompression.NONE
91
+ compress: Optional[InputOffice365MgmtCompression] = (
92
+ InputOffice365MgmtCompression.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 InputOffice365MgmtPq(BaseModel):
104
98
  ] = None
105
99
 
106
100
 
107
- class InputOffice365MgmtSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
101
+ class InputOffice365MgmtSubscriptionPlan(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 InputOffice365MgmtMetadatum(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 InputOffice365MgmtLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ class InputOffice365MgmtLogLevel(str, Enum):
130
124
  r"""Collector runtime Log Level"""
131
125
 
132
126
  ERROR = "error"
@@ -156,18 +150,14 @@ class InputOffice365MgmtContentConfig(BaseModel):
156
150
  interval: Optional[float] = None
157
151
 
158
152
  log_level: Annotated[
159
- Annotated[
160
- Optional[InputOffice365MgmtLogLevel],
161
- PlainValidator(validate_open_enum(False)),
162
- ],
163
- pydantic.Field(alias="logLevel"),
153
+ Optional[InputOffice365MgmtLogLevel], 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 InputOffice365MgmtRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
160
+ class InputOffice365MgmtRetryType(str, Enum):
171
161
  r"""The algorithm to use when performing HTTP retries"""
172
162
 
173
163
  NONE = "none"
@@ -195,9 +185,7 @@ class InputOffice365MgmtRetryRulesTypedDict(TypedDict):
195
185
 
196
186
 
197
187
  class InputOffice365MgmtRetryRules(BaseModel):
198
- type: Annotated[
199
- Optional[InputOffice365MgmtRetryType], PlainValidator(validate_open_enum(False))
200
- ] = InputOffice365MgmtRetryType.BACKOFF
188
+ type: Optional[InputOffice365MgmtRetryType] = InputOffice365MgmtRetryType.BACKOFF
201
189
  r"""The algorithm to use when performing HTTP retries"""
202
190
 
203
191
  interval: Optional[float] = 1000
@@ -228,7 +216,7 @@ class InputOffice365MgmtRetryRules(BaseModel):
228
216
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
229
217
 
230
218
 
231
- class InputOffice365MgmtAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
219
+ class InputOffice365MgmtAuthenticationMethod(str, Enum):
232
220
  r"""Enter client secret directly, or select a stored secret"""
233
221
 
234
222
  MANUAL = "manual"
@@ -326,11 +314,7 @@ class InputOffice365Mgmt(BaseModel):
326
314
  pq: Optional[InputOffice365MgmtPq] = None
327
315
 
328
316
  plan_type: Annotated[
329
- Annotated[
330
- Optional[InputOffice365MgmtSubscriptionPlan],
331
- PlainValidator(validate_open_enum(False)),
332
- ],
333
- pydantic.Field(alias="planType"),
317
+ Optional[InputOffice365MgmtSubscriptionPlan], pydantic.Field(alias="planType")
334
318
  ] = InputOffice365MgmtSubscriptionPlan.ENTERPRISE_GCC
335
319
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
336
320
 
@@ -380,10 +364,7 @@ class InputOffice365Mgmt(BaseModel):
380
364
  ] = None
381
365
 
382
366
  auth_type: Annotated[
383
- Annotated[
384
- Optional[InputOffice365MgmtAuthenticationMethod],
385
- PlainValidator(validate_open_enum(False)),
386
- ],
367
+ Optional[InputOffice365MgmtAuthenticationMethod],
387
368
  pydantic.Field(alias="authType"),
388
369
  ] = InputOffice365MgmtAuthenticationMethod.MANUAL
389
370
  r"""Enter client secret directly, or select a stored secret"""