cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__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 (241) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +5 -3
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +11 -1
  6. cribl_control_plane/commits.py +7 -5
  7. cribl_control_plane/destinations.py +6 -4
  8. cribl_control_plane/destinations_pq.py +2 -2
  9. cribl_control_plane/errors/__init__.py +23 -8
  10. cribl_control_plane/errors/apierror.py +2 -0
  11. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  12. cribl_control_plane/errors/error.py +4 -2
  13. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  14. cribl_control_plane/errors/no_response_error.py +5 -1
  15. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  16. cribl_control_plane/groups_configs.py +8 -3
  17. cribl_control_plane/groups_sdk.py +64 -38
  18. cribl_control_plane/health.py +22 -12
  19. cribl_control_plane/httpclient.py +0 -1
  20. cribl_control_plane/lakedatasets.py +40 -12
  21. cribl_control_plane/models/__init__.py +1180 -54
  22. cribl_control_plane/models/authtoken.py +5 -1
  23. cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
  24. cribl_control_plane/models/cacheconnection.py +30 -2
  25. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  26. cribl_control_plane/models/cloudprovider.py +2 -1
  27. cribl_control_plane/models/configgroup.py +66 -11
  28. cribl_control_plane/models/configgroupcloud.py +17 -3
  29. cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
  30. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  31. cribl_control_plane/models/createroutesappendbyidop.py +2 -2
  32. cribl_control_plane/models/createversionpushop.py +5 -5
  33. cribl_control_plane/models/createversionrevertop.py +2 -2
  34. cribl_control_plane/models/createversionundoop.py +3 -3
  35. cribl_control_plane/models/cribllakedataset.py +22 -2
  36. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  37. cribl_control_plane/models/datasetmetadata.py +18 -2
  38. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
  39. cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
  40. cribl_control_plane/models/deletepipelinebyidop.py +2 -2
  41. cribl_control_plane/models/difffiles.py +171 -0
  42. cribl_control_plane/models/distributedsummary.py +6 -0
  43. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
  44. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
  45. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
  46. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
  47. cribl_control_plane/models/getoutputpqbyidop.py +6 -5
  48. cribl_control_plane/models/getpipelinebyidop.py +2 -2
  49. cribl_control_plane/models/getroutesbyidop.py +2 -2
  50. cribl_control_plane/models/getsummaryop.py +18 -2
  51. cribl_control_plane/models/getversionbranchop.py +6 -5
  52. cribl_control_plane/models/getversioncountop.py +6 -5
  53. cribl_control_plane/models/getversiondiffop.py +6 -5
  54. cribl_control_plane/models/getversionshowop.py +6 -5
  55. cribl_control_plane/models/gitcountresult.py +13 -0
  56. cribl_control_plane/models/gitdiffresult.py +16 -0
  57. cribl_control_plane/models/gitinfo.py +14 -3
  58. cribl_control_plane/models/gitshowresult.py +19 -0
  59. cribl_control_plane/models/groupcreaterequest.py +171 -0
  60. cribl_control_plane/models/hbcriblinfo.py +39 -3
  61. cribl_control_plane/models/healthserverstatus.py +55 -0
  62. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  63. cribl_control_plane/models/input.py +83 -78
  64. cribl_control_plane/models/inputappscope.py +126 -30
  65. cribl_control_plane/models/inputazureblob.py +62 -6
  66. cribl_control_plane/models/inputcloudflarehec.py +513 -0
  67. cribl_control_plane/models/inputcollection.py +47 -4
  68. cribl_control_plane/models/inputconfluentcloud.py +254 -30
  69. cribl_control_plane/models/inputcribl.py +47 -4
  70. cribl_control_plane/models/inputcriblhttp.py +121 -30
  71. cribl_control_plane/models/inputcribllakehttp.py +122 -30
  72. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  73. cribl_control_plane/models/inputcribltcp.py +122 -24
  74. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  75. cribl_control_plane/models/inputdatadogagent.py +98 -24
  76. cribl_control_plane/models/inputdatagen.py +47 -4
  77. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  78. cribl_control_plane/models/inputelastic.py +167 -36
  79. cribl_control_plane/models/inputeventhub.py +209 -6
  80. cribl_control_plane/models/inputexec.py +59 -6
  81. cribl_control_plane/models/inputfile.py +78 -10
  82. cribl_control_plane/models/inputfirehose.py +97 -24
  83. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  84. cribl_control_plane/models/inputgrafana.py +251 -71
  85. cribl_control_plane/models/inputhttp.py +97 -24
  86. cribl_control_plane/models/inputhttpraw.py +97 -24
  87. cribl_control_plane/models/inputjournalfiles.py +48 -4
  88. cribl_control_plane/models/inputkafka.py +248 -26
  89. cribl_control_plane/models/inputkinesis.py +130 -14
  90. cribl_control_plane/models/inputkubeevents.py +47 -4
  91. cribl_control_plane/models/inputkubelogs.py +61 -8
  92. cribl_control_plane/models/inputkubemetrics.py +61 -8
  93. cribl_control_plane/models/inputloki.py +113 -34
  94. cribl_control_plane/models/inputmetrics.py +97 -24
  95. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  96. cribl_control_plane/models/inputmsk.py +141 -30
  97. cribl_control_plane/models/inputnetflow.py +47 -4
  98. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  99. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  100. cribl_control_plane/models/inputoffice365service.py +114 -16
  101. cribl_control_plane/models/inputopentelemetry.py +143 -32
  102. cribl_control_plane/models/inputprometheus.py +193 -44
  103. cribl_control_plane/models/inputprometheusrw.py +114 -27
  104. cribl_control_plane/models/inputrawudp.py +47 -4
  105. cribl_control_plane/models/inputs3.py +78 -8
  106. cribl_control_plane/models/inputs3inventory.py +92 -10
  107. cribl_control_plane/models/inputsecuritylake.py +93 -10
  108. cribl_control_plane/models/inputsnmp.py +68 -6
  109. cribl_control_plane/models/inputsplunk.py +130 -28
  110. cribl_control_plane/models/inputsplunkhec.py +111 -25
  111. cribl_control_plane/models/inputsplunksearch.py +108 -14
  112. cribl_control_plane/models/inputsqs.py +99 -16
  113. cribl_control_plane/models/inputsyslog.py +189 -47
  114. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  115. cribl_control_plane/models/inputsystemstate.py +61 -8
  116. cribl_control_plane/models/inputtcp.py +122 -26
  117. cribl_control_plane/models/inputtcpjson.py +112 -26
  118. cribl_control_plane/models/inputwef.py +121 -15
  119. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  120. cribl_control_plane/models/inputwineventlogs.py +93 -11
  121. cribl_control_plane/models/inputwiz.py +78 -8
  122. cribl_control_plane/models/inputwizwebhook.py +97 -24
  123. cribl_control_plane/models/inputzscalerhec.py +111 -25
  124. cribl_control_plane/models/jobinfo.py +34 -0
  125. cribl_control_plane/models/jobstatus.py +48 -0
  126. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  127. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  128. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
  129. cribl_control_plane/models/logininfo.py +3 -3
  130. cribl_control_plane/models/masterworkerentry.py +17 -2
  131. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  132. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  133. cribl_control_plane/models/nodeprovidedinfo.py +11 -1
  134. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  135. cribl_control_plane/models/nodeupgradestate.py +2 -1
  136. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  137. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  138. cribl_control_plane/models/output.py +104 -90
  139. cribl_control_plane/models/outputazureblob.py +171 -18
  140. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  141. cribl_control_plane/models/outputazureeventhub.py +315 -31
  142. cribl_control_plane/models/outputazurelogs.py +145 -26
  143. cribl_control_plane/models/outputchronicle.py +532 -0
  144. cribl_control_plane/models/outputclickhouse.py +205 -34
  145. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  146. cribl_control_plane/models/outputcloudwatch.py +129 -23
  147. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  148. cribl_control_plane/models/outputcriblhttp.py +199 -32
  149. cribl_control_plane/models/outputcribllake.py +156 -16
  150. cribl_control_plane/models/outputcribltcp.py +194 -29
  151. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  152. cribl_control_plane/models/outputdatabricks.py +501 -0
  153. cribl_control_plane/models/outputdatadog.py +199 -31
  154. cribl_control_plane/models/outputdataset.py +181 -29
  155. cribl_control_plane/models/outputdiskspool.py +17 -2
  156. cribl_control_plane/models/outputdls3.py +233 -24
  157. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  158. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  159. cribl_control_plane/models/outputelastic.py +199 -30
  160. cribl_control_plane/models/outputelasticcloud.py +171 -26
  161. cribl_control_plane/models/outputexabeam.py +96 -10
  162. cribl_control_plane/models/outputfilesystem.py +139 -14
  163. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  164. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  165. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  166. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  167. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  168. cribl_control_plane/models/outputgraphite.py +128 -25
  169. cribl_control_plane/models/outputhoneycomb.py +145 -26
  170. cribl_control_plane/models/outputhumiohec.py +162 -28
  171. cribl_control_plane/models/outputinfluxdb.py +165 -28
  172. cribl_control_plane/models/outputkafka.py +375 -52
  173. cribl_control_plane/models/outputkinesis.py +165 -27
  174. cribl_control_plane/models/outputloki.py +164 -34
  175. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  176. cribl_control_plane/models/outputminio.py +225 -25
  177. cribl_control_plane/models/outputmsk.py +267 -54
  178. cribl_control_plane/models/outputnewrelic.py +171 -29
  179. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  180. cribl_control_plane/models/outputopentelemetry.py +240 -40
  181. cribl_control_plane/models/outputprometheus.py +145 -26
  182. cribl_control_plane/models/outputring.py +49 -8
  183. cribl_control_plane/models/outputs3.py +233 -26
  184. cribl_control_plane/models/outputsecuritylake.py +179 -18
  185. cribl_control_plane/models/outputsentinel.py +172 -29
  186. cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
  187. cribl_control_plane/models/outputservicenow.py +223 -38
  188. cribl_control_plane/models/outputsignalfx.py +145 -26
  189. cribl_control_plane/models/outputsns.py +143 -25
  190. cribl_control_plane/models/outputsplunk.py +206 -36
  191. cribl_control_plane/models/outputsplunkhec.py +238 -26
  192. cribl_control_plane/models/outputsplunklb.py +253 -43
  193. cribl_control_plane/models/outputsqs.py +163 -33
  194. cribl_control_plane/models/outputstatsd.py +127 -25
  195. cribl_control_plane/models/outputstatsdext.py +128 -25
  196. cribl_control_plane/models/outputsumologic.py +146 -25
  197. cribl_control_plane/models/outputsyslog.py +318 -46
  198. cribl_control_plane/models/outputtcpjson.py +186 -32
  199. cribl_control_plane/models/outputwavefront.py +145 -26
  200. cribl_control_plane/models/outputwebhook.py +211 -33
  201. cribl_control_plane/models/outputxsiam.py +143 -26
  202. cribl_control_plane/models/packinfo.py +8 -5
  203. cribl_control_plane/models/packinstallinfo.py +11 -8
  204. cribl_control_plane/models/productscore.py +2 -1
  205. cribl_control_plane/models/rbacresource.py +2 -1
  206. cribl_control_plane/models/resourcepolicy.py +15 -2
  207. cribl_control_plane/models/routeconf.py +3 -4
  208. cribl_control_plane/models/runnablejob.py +27 -0
  209. cribl_control_plane/models/runnablejobcollection.py +669 -0
  210. cribl_control_plane/models/runnablejobexecutor.py +368 -0
  211. cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
  212. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
  213. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
  214. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
  215. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  216. cribl_control_plane/models/updatepacksop.py +25 -0
  217. cribl_control_plane/models/updatepipelinebyidop.py +6 -6
  218. cribl_control_plane/models/updateroutesbyidop.py +2 -2
  219. cribl_control_plane/models/uploadpackresponse.py +13 -0
  220. cribl_control_plane/models/workertypes.py +2 -1
  221. cribl_control_plane/nodes.py +5 -3
  222. cribl_control_plane/packs.py +202 -7
  223. cribl_control_plane/pipelines.py +18 -18
  224. cribl_control_plane/routes_sdk.py +22 -22
  225. cribl_control_plane/sdk.py +19 -6
  226. cribl_control_plane/sources.py +5 -3
  227. cribl_control_plane/tokens.py +23 -15
  228. cribl_control_plane/utils/__init__.py +15 -3
  229. cribl_control_plane/utils/annotations.py +32 -8
  230. cribl_control_plane/utils/eventstreaming.py +10 -0
  231. cribl_control_plane/utils/retries.py +69 -5
  232. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  233. cribl_control_plane/versions.py +11 -6
  234. {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
  235. cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
  236. {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
  237. cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
  238. cribl_control_plane/errors/healthstatus_error.py +0 -32
  239. cribl_control_plane/models/appmode.py +0 -13
  240. cribl_control_plane/models/healthstatus.py +0 -33
  241. cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
@@ -1,9 +1,13 @@
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 models, utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import Any, List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -23,20 +27,32 @@ class InputZscalerHecConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputZscalerHecMode(str, Enum):
30
+ class InputZscalerHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  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."""
28
32
 
33
+ # Smart
29
34
  SMART = "smart"
35
+ # Always On
30
36
  ALWAYS = "always"
31
37
 
32
38
 
33
- class InputZscalerHecCompression(str, Enum):
39
+ class InputZscalerHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
40
  r"""Codec to use to compress the persisted data"""
35
41
 
42
+ # None
36
43
  NONE = "none"
44
+ # Gzip
37
45
  GZIP = "gzip"
38
46
 
39
47
 
48
+ class InputZscalerHecPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputZscalerHecPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputZscalerHecPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputZscalerHecMode]
42
58
  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."""
@@ -52,10 +68,13 @@ class InputZscalerHecPqTypedDict(TypedDict):
52
68
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
53
69
  compress: NotRequired[InputZscalerHecCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputZscalerHecPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputZscalerHecPq(BaseModel):
58
- mode: Optional[InputZscalerHecMode] = InputZscalerHecMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputZscalerHecMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputZscalerHecMode.ALWAYS
59
78
  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."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,11 +98,35 @@ class InputZscalerHecPq(BaseModel):
79
98
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
99
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
100
 
82
- compress: Optional[InputZscalerHecCompression] = InputZscalerHecCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputZscalerHecCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputZscalerHecCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputZscalerHecPqControls], pydantic.Field(alias="pqControls")
108
+ ] = None
85
109
 
86
- class InputZscalerHecAuthenticationMethod(str, Enum):
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputZscalerHecMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputZscalerHecCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputZscalerHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
87
130
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
88
131
 
89
132
  MANUAL = "manual"
@@ -120,7 +163,11 @@ class InputZscalerHecAuthToken(BaseModel):
120
163
  token: Any
121
164
 
122
165
  auth_type: Annotated[
123
- Optional[InputZscalerHecAuthenticationMethod], pydantic.Field(alias="authType")
166
+ Annotated[
167
+ Optional[InputZscalerHecAuthenticationMethod],
168
+ PlainValidator(validate_open_enum(False)),
169
+ ],
170
+ pydantic.Field(alias="authType"),
124
171
  ] = InputZscalerHecAuthenticationMethod.MANUAL
125
172
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
126
173
 
@@ -138,15 +185,24 @@ class InputZscalerHecAuthToken(BaseModel):
138
185
  metadata: Optional[List[InputZscalerHecAuthTokenMetadatum]] = None
139
186
  r"""Fields to add to events referencing this token"""
140
187
 
188
+ @field_serializer("auth_type")
189
+ def serialize_auth_type(self, value):
190
+ if isinstance(value, str):
191
+ try:
192
+ return models.InputZscalerHecAuthenticationMethod(value)
193
+ except ValueError:
194
+ return value
195
+ return value
196
+
141
197
 
142
- class InputZscalerHecMinimumTLSVersion(str, Enum):
198
+ class InputZscalerHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
143
199
  TL_SV1 = "TLSv1"
144
200
  TL_SV1_1 = "TLSv1.1"
145
201
  TL_SV1_2 = "TLSv1.2"
146
202
  TL_SV1_3 = "TLSv1.3"
147
203
 
148
204
 
149
- class InputZscalerHecMaximumTLSVersion(str, Enum):
205
+ class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
150
206
  TL_SV1 = "TLSv1"
151
207
  TL_SV1_1 = "TLSv1.1"
152
208
  TL_SV1_2 = "TLSv1.2"
@@ -155,6 +211,12 @@ class InputZscalerHecMaximumTLSVersion(str, Enum):
155
211
 
156
212
  class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
157
213
  disabled: NotRequired[bool]
214
+ request_cert: NotRequired[bool]
215
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
216
+ reject_unauthorized: NotRequired[bool]
217
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
218
+ common_name_regex: NotRequired[str]
219
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
158
220
  certificate_name: NotRequired[str]
159
221
  r"""The name of the predefined certificate"""
160
222
  priv_key_path: NotRequired[str]
@@ -165,10 +227,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
165
227
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
166
228
  ca_path: NotRequired[str]
167
229
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
168
- request_cert: NotRequired[bool]
169
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
- reject_unauthorized: NotRequired[Any]
171
- common_name_regex: NotRequired[Any]
172
230
  min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
173
231
  max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
174
232
 
@@ -176,6 +234,19 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
176
234
  class InputZscalerHecTLSSettingsServerSide(BaseModel):
177
235
  disabled: Optional[bool] = True
178
236
 
237
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
238
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
239
+
240
+ reject_unauthorized: Annotated[
241
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
242
+ ] = True
243
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
244
+
245
+ common_name_regex: Annotated[
246
+ Optional[str], pydantic.Field(alias="commonNameRegex")
247
+ ] = "/.*/"
248
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
249
+
179
250
  certificate_name: Annotated[
180
251
  Optional[str], pydantic.Field(alias="certificateName")
181
252
  ] = None
@@ -193,25 +264,40 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
193
264
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
194
265
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
195
266
 
196
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
197
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
198
-
199
- reject_unauthorized: Annotated[
200
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
201
- ] = None
202
-
203
- common_name_regex: Annotated[
204
- Optional[Any], pydantic.Field(alias="commonNameRegex")
205
- ] = None
206
-
207
267
  min_version: Annotated[
208
- Optional[InputZscalerHecMinimumTLSVersion], pydantic.Field(alias="minVersion")
268
+ Annotated[
269
+ Optional[InputZscalerHecMinimumTLSVersion],
270
+ PlainValidator(validate_open_enum(False)),
271
+ ],
272
+ pydantic.Field(alias="minVersion"),
209
273
  ] = None
210
274
 
211
275
  max_version: Annotated[
212
- Optional[InputZscalerHecMaximumTLSVersion], pydantic.Field(alias="maxVersion")
276
+ Annotated[
277
+ Optional[InputZscalerHecMaximumTLSVersion],
278
+ PlainValidator(validate_open_enum(False)),
279
+ ],
280
+ pydantic.Field(alias="maxVersion"),
213
281
  ] = None
214
282
 
283
+ @field_serializer("min_version")
284
+ def serialize_min_version(self, value):
285
+ if isinstance(value, str):
286
+ try:
287
+ return models.InputZscalerHecMinimumTLSVersion(value)
288
+ except ValueError:
289
+ return value
290
+ return value
291
+
292
+ @field_serializer("max_version")
293
+ def serialize_max_version(self, value):
294
+ if isinstance(value, str):
295
+ try:
296
+ return models.InputZscalerHecMaximumTLSVersion(value)
297
+ except ValueError:
298
+ return value
299
+ return value
300
+
215
301
 
216
302
  class InputZscalerHecMetadatumTypedDict(TypedDict):
217
303
  name: str
@@ -0,0 +1,34 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .jobstatus import JobStatus, JobStatusTypedDict
5
+ from .runnablejob import RunnableJob, RunnableJobTypedDict
6
+ from cribl_control_plane.types import BaseModel
7
+ from typing import Dict, Optional, Union
8
+ from typing_extensions import NotRequired, TypeAliasType, TypedDict
9
+
10
+
11
+ StatsTypedDict = TypeAliasType("StatsTypedDict", Union[float, Dict[str, float]])
12
+
13
+
14
+ Stats = TypeAliasType("Stats", Union[float, Dict[str, float]])
15
+
16
+
17
+ class JobInfoTypedDict(TypedDict):
18
+ args: RunnableJobTypedDict
19
+ id: str
20
+ stats: Dict[str, StatsTypedDict]
21
+ status: JobStatusTypedDict
22
+ keep: NotRequired[bool]
23
+
24
+
25
+ class JobInfo(BaseModel):
26
+ args: RunnableJob
27
+
28
+ id: str
29
+
30
+ stats: Dict[str, Stats]
31
+
32
+ status: JobStatus
33
+
34
+ keep: Optional[bool] = None
@@ -0,0 +1,48 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane import models, utils
5
+ from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
7
+ from enum import Enum
8
+ from pydantic import field_serializer
9
+ from pydantic.functional_validators import PlainValidator
10
+ from typing import Any, Dict, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class State(int, Enum, metaclass=utils.OpenEnumMeta):
15
+ r"""State of the Job"""
16
+
17
+ INITIALIZING = 0
18
+ PENDING = 1
19
+ RUNNING = 2
20
+ PAUSED = 3
21
+ CANCELLED = 4
22
+ FINISHED = 5
23
+ FAILED = 6
24
+ ORPHANED = 7
25
+ UNKNOWN = 8
26
+ LENGTH = 9
27
+
28
+
29
+ class JobStatusTypedDict(TypedDict):
30
+ state: State
31
+ r"""State of the Job"""
32
+ reason: NotRequired[Dict[str, Any]]
33
+
34
+
35
+ class JobStatus(BaseModel):
36
+ state: Annotated[State, PlainValidator(validate_open_enum(True))]
37
+ r"""State of the Job"""
38
+
39
+ reason: Optional[Dict[str, Any]] = None
40
+
41
+ @field_serializer("state")
42
+ def serialize_state(self, value):
43
+ if isinstance(value, str):
44
+ try:
45
+ return models.State(value)
46
+ except ValueError:
47
+ return value
48
+ return value
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class LakeDatasetMetricsTypedDict(TypedDict):
10
+ current_size_bytes: float
11
+ metrics_date: str
12
+
13
+
14
+ class LakeDatasetMetrics(BaseModel):
15
+ current_size_bytes: Annotated[float, pydantic.Field(alias="currentSizeBytes")]
16
+
17
+ metrics_date: Annotated[str, pydantic.Field(alias="metricsDate")]
@@ -1,9 +1,10 @@
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
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class LakehouseConnectionType(str, Enum):
8
+ class LakehouseConnectionType(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  CACHE = "cache"
9
10
  ZERO_POINT = "zeroPoint"
@@ -3,12 +3,16 @@
3
3
  from __future__ import annotations
4
4
  from .configgroup import ConfigGroup, ConfigGroupTypedDict
5
5
  from .productscore import ProductsCore
6
+ from cribl_control_plane import models
6
7
  from cribl_control_plane.types import BaseModel
7
8
  from cribl_control_plane.utils import (
8
9
  FieldMetadata,
9
10
  PathParamMetadata,
10
11
  QueryParamMetadata,
12
+ validate_open_enum,
11
13
  )
14
+ from pydantic import field_serializer
15
+ from pydantic.functional_validators import PlainValidator
12
16
  from typing import List, Optional
13
17
  from typing_extensions import Annotated, NotRequired, TypedDict
14
18
 
@@ -22,7 +26,7 @@ class ListConfigGroupByProductRequestTypedDict(TypedDict):
22
26
 
23
27
  class ListConfigGroupByProductRequest(BaseModel):
24
28
  product: Annotated[
25
- ProductsCore,
29
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
26
30
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
27
31
  ]
28
32
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -33,6 +37,15 @@ class ListConfigGroupByProductRequest(BaseModel):
33
37
  ] = None
34
38
  r"""Comma-separated list of additional properties to include in the response. Available values are <code>git.commit</code>, <code>git.localChanges</code>, and <code>git.log</code>."""
35
39
 
40
+ @field_serializer("product")
41
+ def serialize_product(self, value):
42
+ if isinstance(value, str):
43
+ try:
44
+ return models.ProductsCore(value)
45
+ except ValueError:
46
+ return value
47
+ return value
48
+
36
49
 
37
50
  class ListConfigGroupByProductResponseTypedDict(TypedDict):
38
51
  r"""a list of ConfigGroup objects"""
@@ -6,11 +6,11 @@ from typing_extensions import TypedDict
6
6
 
7
7
 
8
8
  class LoginInfoTypedDict(TypedDict):
9
- username: str
10
9
  password: str
10
+ username: str
11
11
 
12
12
 
13
13
  class LoginInfo(BaseModel):
14
- username: str
15
-
16
14
  password: str
15
+
16
+ username: str
@@ -4,9 +4,13 @@ from __future__ import annotations
4
4
  from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
5
5
  from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
6
6
  from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
7
+ from cribl_control_plane import models, utils
7
8
  from cribl_control_plane.types import BaseModel
9
+ from cribl_control_plane.utils import validate_open_enum
8
10
  from enum import Enum
9
11
  import pydantic
12
+ from pydantic import field_serializer
13
+ from pydantic.functional_validators import PlainValidator
10
14
  from typing import Optional
11
15
  from typing_extensions import Annotated, NotRequired, TypedDict
12
16
 
@@ -19,7 +23,7 @@ class LastMetrics(BaseModel):
19
23
  pass
20
24
 
21
25
 
22
- class MasterWorkerEntryType(str, Enum):
26
+ class MasterWorkerEntryType(str, Enum, metaclass=utils.OpenEnumMeta):
23
27
  INFO = "info"
24
28
  REQ = "req"
25
29
  RESP = "resp"
@@ -79,6 +83,17 @@ class MasterWorkerEntry(BaseModel):
79
83
 
80
84
  status: Optional[str] = None
81
85
 
82
- type: Optional[MasterWorkerEntryType] = None
86
+ type: Annotated[
87
+ Optional[MasterWorkerEntryType], PlainValidator(validate_open_enum(False))
88
+ ] = None
83
89
 
84
90
  workers: Optional[MasterWorkerEntryWorkers] = None
91
+
92
+ @field_serializer("type")
93
+ def serialize_type(self, value):
94
+ if isinstance(value, str):
95
+ try:
96
+ return models.MasterWorkerEntryType(value)
97
+ except ValueError:
98
+ return value
99
+ return value
@@ -1,10 +1,11 @@
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
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeActiveUpgradeStatus(int, Enum):
8
+ class NodeActiveUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,9 +1,10 @@
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
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeFailedUpgradeStatus(int, Enum):
8
+ class NodeFailedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
@@ -3,9 +3,10 @@
3
3
  from __future__ import annotations
4
4
  from .hbcriblinfo import HBCriblInfo, HBCriblInfoTypedDict
5
5
  from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
6
+ from .outpostnodeinfo import OutpostNodeInfo, OutpostNodeInfoTypedDict
6
7
  from cribl_control_plane.types import BaseModel
7
8
  import pydantic
8
- from typing import List, Optional, Union
9
+ from typing import Dict, List, Optional, Union
9
10
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
10
11
 
11
12
 
@@ -19,6 +20,7 @@ class NodeProvidedInfoTags(BaseModel):
19
20
 
20
21
  class NodeProvidedInfoAwsTypedDict(TypedDict):
21
22
  enabled: bool
23
+ instance_id: str
22
24
  region: str
23
25
  type: str
24
26
  zone: str
@@ -28,6 +30,8 @@ class NodeProvidedInfoAwsTypedDict(TypedDict):
28
30
  class NodeProvidedInfoAws(BaseModel):
29
31
  enabled: bool
30
32
 
33
+ instance_id: Annotated[str, pydantic.Field(alias="instanceId")]
34
+
31
35
  region: str
32
36
 
33
37
  type: str
@@ -125,6 +129,7 @@ class NodeProvidedInfoTypedDict(TypedDict):
125
129
  architecture: str
126
130
  cpus: float
127
131
  cribl: HBCriblInfoTypedDict
132
+ env: Dict[str, str]
128
133
  free_disk_space: float
129
134
  hostname: str
130
135
  node: str
@@ -140,6 +145,7 @@ class NodeProvidedInfoTypedDict(TypedDict):
140
145
  local_time: NotRequired[float]
141
146
  metadata: NotRequired[HeartbeatMetadataTypedDict]
142
147
  os: NotRequired[OsTypedDict]
148
+ outpost: NotRequired[OutpostNodeInfoTypedDict]
143
149
 
144
150
 
145
151
  class NodeProvidedInfo(BaseModel):
@@ -149,6 +155,8 @@ class NodeProvidedInfo(BaseModel):
149
155
 
150
156
  cribl: HBCriblInfo
151
157
 
158
+ env: Dict[str, str]
159
+
152
160
  free_disk_space: Annotated[float, pydantic.Field(alias="freeDiskSpace")]
153
161
 
154
162
  hostname: str
@@ -182,3 +190,5 @@ class NodeProvidedInfo(BaseModel):
182
190
  metadata: Optional[HeartbeatMetadata] = None
183
191
 
184
192
  os: Optional[Os] = None
193
+
194
+ outpost: Optional[OutpostNodeInfo] = None
@@ -1,10 +1,11 @@
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
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeSkippedUpgradeStatus(int, Enum):
8
+ class NodeSkippedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -1,10 +1,11 @@
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
4
5
  from enum import Enum
5
6
 
6
7
 
7
- class NodeUpgradeState(int, Enum):
8
+ class NodeUpgradeState(int, Enum, metaclass=utils.OpenEnumMeta):
8
9
  ZERO = 0
9
10
  ONE = 1
10
11
  TWO = 2
@@ -5,9 +5,13 @@ from .nodeactiveupgradestatus import NodeActiveUpgradeStatus
5
5
  from .nodefailedupgradestatus import NodeFailedUpgradeStatus
6
6
  from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus
7
7
  from .nodeupgradestate import NodeUpgradeState
8
+ from cribl_control_plane import models
8
9
  from cribl_control_plane.types import BaseModel
10
+ from cribl_control_plane.utils import validate_open_enum
11
+ from pydantic import field_serializer
12
+ from pydantic.functional_validators import PlainValidator
9
13
  from typing import Optional
10
- from typing_extensions import NotRequired, TypedDict
14
+ from typing_extensions import Annotated, NotRequired, TypedDict
11
15
 
12
16
 
13
17
  class NodeUpgradeStatusTypedDict(TypedDict):
@@ -19,12 +23,54 @@ class NodeUpgradeStatusTypedDict(TypedDict):
19
23
 
20
24
 
21
25
  class NodeUpgradeStatus(BaseModel):
22
- state: NodeUpgradeState
26
+ state: Annotated[NodeUpgradeState, PlainValidator(validate_open_enum(True))]
23
27
 
24
28
  timestamp: float
25
29
 
26
- active: Optional[NodeActiveUpgradeStatus] = None
30
+ active: Annotated[
31
+ Optional[NodeActiveUpgradeStatus], PlainValidator(validate_open_enum(True))
32
+ ] = None
33
+
34
+ failed: Annotated[
35
+ Optional[NodeFailedUpgradeStatus], PlainValidator(validate_open_enum(True))
36
+ ] = None
37
+
38
+ skipped: Annotated[
39
+ Optional[NodeSkippedUpgradeStatus], PlainValidator(validate_open_enum(True))
40
+ ] = None
41
+
42
+ @field_serializer("active")
43
+ def serialize_active(self, value):
44
+ if isinstance(value, str):
45
+ try:
46
+ return models.NodeActiveUpgradeStatus(value)
47
+ except ValueError:
48
+ return value
49
+ return value
50
+
51
+ @field_serializer("failed")
52
+ def serialize_failed(self, value):
53
+ if isinstance(value, str):
54
+ try:
55
+ return models.NodeFailedUpgradeStatus(value)
56
+ except ValueError:
57
+ return value
58
+ return value
27
59
 
28
- failed: Optional[NodeFailedUpgradeStatus] = None
60
+ @field_serializer("skipped")
61
+ def serialize_skipped(self, value):
62
+ if isinstance(value, str):
63
+ try:
64
+ return models.NodeSkippedUpgradeStatus(value)
65
+ except ValueError:
66
+ return value
67
+ return value
29
68
 
30
- skipped: Optional[NodeSkippedUpgradeStatus] = None
69
+ @field_serializer("state")
70
+ def serialize_state(self, value):
71
+ if isinstance(value, str):
72
+ try:
73
+ return models.NodeUpgradeState(value)
74
+ except ValueError:
75
+ return value
76
+ return value
@@ -0,0 +1,16 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class OutpostNodeInfoTypedDict(TypedDict):
9
+ guid: str
10
+ host: str
11
+
12
+
13
+ class OutpostNodeInfo(BaseModel):
14
+ guid: str
15
+
16
+ host: str