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
@@ -3,8 +3,15 @@
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
- from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
8
+ from cribl_control_plane.utils import (
9
+ FieldMetadata,
10
+ PathParamMetadata,
11
+ validate_open_enum,
12
+ )
13
+ from pydantic import field_serializer
14
+ from pydantic.functional_validators import PlainValidator
8
15
  from typing import List, Optional
9
16
  from typing_extensions import Annotated, NotRequired, TypedDict
10
17
 
@@ -18,7 +25,7 @@ class DeleteConfigGroupByProductAndIDRequestTypedDict(TypedDict):
18
25
 
19
26
  class DeleteConfigGroupByProductAndIDRequest(BaseModel):
20
27
  product: Annotated[
21
- ProductsCore,
28
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
22
29
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
23
30
  ]
24
31
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -28,6 +35,15 @@ class DeleteConfigGroupByProductAndIDRequest(BaseModel):
28
35
  ]
29
36
  r"""The <code>id</code> of the Worker Group or Edge Fleet to delete."""
30
37
 
38
+ @field_serializer("product")
39
+ def serialize_product(self, value):
40
+ if isinstance(value, str):
41
+ try:
42
+ return models.ProductsCore(value)
43
+ except ValueError:
44
+ return value
45
+ return value
46
+
31
47
 
32
48
  class DeleteConfigGroupByProductAndIDResponseTypedDict(TypedDict):
33
49
  r"""a list of ConfigGroup objects"""
@@ -3,7 +3,7 @@
3
3
  from __future__ import annotations
4
4
  from cribl_control_plane.types import BaseModel
5
5
  from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
6
- from typing import Any, Dict, List, Optional
6
+ from typing import List, Optional
7
7
  from typing_extensions import Annotated, NotRequired, TypedDict
8
8
 
9
9
 
@@ -20,17 +20,17 @@ class DeleteOutputPqByIDRequest(BaseModel):
20
20
 
21
21
 
22
22
  class DeleteOutputPqByIDResponseTypedDict(TypedDict):
23
- r"""a list of any objects"""
23
+ r"""A list of job ids for the background job that clears the persistent queue"""
24
24
 
25
25
  count: NotRequired[int]
26
26
  r"""number of items present in the items array"""
27
- items: NotRequired[List[Dict[str, Any]]]
27
+ items: NotRequired[List[str]]
28
28
 
29
29
 
30
30
  class DeleteOutputPqByIDResponse(BaseModel):
31
- r"""a list of any objects"""
31
+ r"""A list of job ids for the background job that clears the persistent queue"""
32
32
 
33
33
  count: Optional[int] = None
34
34
  r"""number of items present in the items array"""
35
35
 
36
- items: Optional[List[Dict[str, Any]]] = None
36
+ items: Optional[List[str]] = None
@@ -10,14 +10,14 @@ from typing_extensions import Annotated, NotRequired, TypedDict
10
10
 
11
11
  class DeletePipelineByIDRequestTypedDict(TypedDict):
12
12
  id: str
13
- r"""Unique ID to DELETE"""
13
+ r"""The <code>id</code> of the Pipeline to delete."""
14
14
 
15
15
 
16
16
  class DeletePipelineByIDRequest(BaseModel):
17
17
  id: Annotated[
18
18
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
19
19
  ]
20
- r"""Unique ID to DELETE"""
20
+ r"""The <code>id</code> of the Pipeline to delete."""
21
21
 
22
22
 
23
23
  class DeletePipelineByIDResponseTypedDict(TypedDict):
@@ -0,0 +1,171 @@
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 import List, Optional, Union
7
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
8
+
9
+
10
+ class Line3TypedDict(TypedDict):
11
+ content: str
12
+ new_number: float
13
+ old_number: float
14
+
15
+
16
+ class Line3(BaseModel):
17
+ content: str
18
+
19
+ new_number: Annotated[float, pydantic.Field(alias="newNumber")]
20
+
21
+ old_number: Annotated[float, pydantic.Field(alias="oldNumber")]
22
+
23
+
24
+ class Line2TypedDict(TypedDict):
25
+ content: str
26
+ new_number: float
27
+
28
+
29
+ class Line2(BaseModel):
30
+ content: str
31
+
32
+ new_number: Annotated[float, pydantic.Field(alias="newNumber")]
33
+
34
+
35
+ class Line1TypedDict(TypedDict):
36
+ content: str
37
+ old_number: float
38
+
39
+
40
+ class Line1(BaseModel):
41
+ content: str
42
+
43
+ old_number: Annotated[float, pydantic.Field(alias="oldNumber")]
44
+
45
+
46
+ LineUnionTypedDict = TypeAliasType(
47
+ "LineUnionTypedDict", Union[Line1TypedDict, Line2TypedDict, Line3TypedDict]
48
+ )
49
+
50
+
51
+ LineUnion = TypeAliasType("LineUnion", Union[Line1, Line2, Line3])
52
+
53
+
54
+ class BlockTypedDict(TypedDict):
55
+ header: str
56
+ lines: List[LineUnionTypedDict]
57
+ new_start_line: float
58
+ old_start_line: float
59
+ old_start_line2: NotRequired[float]
60
+
61
+
62
+ class Block(BaseModel):
63
+ header: str
64
+
65
+ lines: List[LineUnion]
66
+
67
+ new_start_line: Annotated[float, pydantic.Field(alias="newStartLine")]
68
+
69
+ old_start_line: Annotated[float, pydantic.Field(alias="oldStartLine")]
70
+
71
+ old_start_line2: Annotated[
72
+ Optional[float], pydantic.Field(alias="oldStartLine2")
73
+ ] = None
74
+
75
+
76
+ ChecksumBeforeTypedDict = TypeAliasType(
77
+ "ChecksumBeforeTypedDict", Union[str, List[str]]
78
+ )
79
+
80
+
81
+ ChecksumBefore = TypeAliasType("ChecksumBefore", Union[str, List[str]])
82
+
83
+
84
+ OldModeTypedDict = TypeAliasType("OldModeTypedDict", Union[str, List[str]])
85
+
86
+
87
+ OldMode = TypeAliasType("OldMode", Union[str, List[str]])
88
+
89
+
90
+ class DiffFilesTypedDict(TypedDict):
91
+ added_lines: float
92
+ blocks: List[BlockTypedDict]
93
+ deleted_lines: float
94
+ is_combined: bool
95
+ is_git_diff: bool
96
+ language: str
97
+ new_name: str
98
+ old_name: str
99
+ changed_percentage: NotRequired[float]
100
+ checksum_after: NotRequired[str]
101
+ checksum_before: NotRequired[ChecksumBeforeTypedDict]
102
+ deleted_file_mode: NotRequired[str]
103
+ is_binary: NotRequired[bool]
104
+ is_copy: NotRequired[bool]
105
+ is_deleted: NotRequired[bool]
106
+ is_new: NotRequired[bool]
107
+ is_rename: NotRequired[bool]
108
+ is_too_big: NotRequired[bool]
109
+ mode: NotRequired[str]
110
+ new_file_mode: NotRequired[str]
111
+ new_mode: NotRequired[str]
112
+ old_mode: NotRequired[OldModeTypedDict]
113
+ unchanged_percentage: NotRequired[float]
114
+
115
+
116
+ class DiffFiles(BaseModel):
117
+ added_lines: Annotated[float, pydantic.Field(alias="addedLines")]
118
+
119
+ blocks: List[Block]
120
+
121
+ deleted_lines: Annotated[float, pydantic.Field(alias="deletedLines")]
122
+
123
+ is_combined: Annotated[bool, pydantic.Field(alias="isCombined")]
124
+
125
+ is_git_diff: Annotated[bool, pydantic.Field(alias="isGitDiff")]
126
+
127
+ language: str
128
+
129
+ new_name: Annotated[str, pydantic.Field(alias="newName")]
130
+
131
+ old_name: Annotated[str, pydantic.Field(alias="oldName")]
132
+
133
+ changed_percentage: Annotated[
134
+ Optional[float], pydantic.Field(alias="changedPercentage")
135
+ ] = None
136
+
137
+ checksum_after: Annotated[Optional[str], pydantic.Field(alias="checksumAfter")] = (
138
+ None
139
+ )
140
+
141
+ checksum_before: Annotated[
142
+ Optional[ChecksumBefore], pydantic.Field(alias="checksumBefore")
143
+ ] = None
144
+
145
+ deleted_file_mode: Annotated[
146
+ Optional[str], pydantic.Field(alias="deletedFileMode")
147
+ ] = None
148
+
149
+ is_binary: Annotated[Optional[bool], pydantic.Field(alias="isBinary")] = None
150
+
151
+ is_copy: Annotated[Optional[bool], pydantic.Field(alias="isCopy")] = None
152
+
153
+ is_deleted: Annotated[Optional[bool], pydantic.Field(alias="isDeleted")] = None
154
+
155
+ is_new: Annotated[Optional[bool], pydantic.Field(alias="isNew")] = None
156
+
157
+ is_rename: Annotated[Optional[bool], pydantic.Field(alias="isRename")] = None
158
+
159
+ is_too_big: Annotated[Optional[bool], pydantic.Field(alias="isTooBig")] = None
160
+
161
+ mode: Optional[str] = None
162
+
163
+ new_file_mode: Annotated[Optional[str], pydantic.Field(alias="newFileMode")] = None
164
+
165
+ new_mode: Annotated[Optional[str], pydantic.Field(alias="newMode")] = None
166
+
167
+ old_mode: Annotated[Optional[OldMode], pydantic.Field(alias="oldMode")] = None
168
+
169
+ unchanged_percentage: Annotated[
170
+ Optional[float], pydantic.Field(alias="unchangedPercentage")
171
+ ] = None
@@ -9,7 +9,9 @@ from typing_extensions import Annotated, TypedDict
9
9
  class DistributedSummaryGroupsTypedDict(TypedDict):
10
10
  count: float
11
11
  destinations: float
12
+ packs: float
12
13
  pipelines: float
14
+ quick_connects: float
13
15
  routes: float
14
16
  sources: float
15
17
 
@@ -19,8 +21,12 @@ class DistributedSummaryGroups(BaseModel):
19
21
 
20
22
  destinations: float
21
23
 
24
+ packs: float
25
+
22
26
  pipelines: float
23
27
 
28
+ quick_connects: Annotated[float, pydantic.Field(alias="quickConnects")]
29
+
24
30
  routes: float
25
31
 
26
32
  sources: float
@@ -4,12 +4,16 @@ from __future__ import annotations
4
4
  from .productscore import ProductsCore
5
5
  from .rbacresource import RbacResource
6
6
  from .useraccesscontrollist import UserAccessControlList, UserAccessControlListTypedDict
7
+ from cribl_control_plane import models
7
8
  from cribl_control_plane.types import BaseModel
8
9
  from cribl_control_plane.utils import (
9
10
  FieldMetadata,
10
11
  PathParamMetadata,
11
12
  QueryParamMetadata,
13
+ validate_open_enum,
12
14
  )
15
+ from pydantic import field_serializer
16
+ from pydantic.functional_validators import PlainValidator
13
17
  from typing import List, Optional
14
18
  from typing_extensions import Annotated, NotRequired, TypedDict
15
19
 
@@ -25,7 +29,7 @@ class GetConfigGroupACLByProductAndIDRequestTypedDict(TypedDict):
25
29
 
26
30
  class GetConfigGroupACLByProductAndIDRequest(BaseModel):
27
31
  product: Annotated[
28
- ProductsCore,
32
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
29
33
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
34
  ]
31
35
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -36,11 +40,29 @@ class GetConfigGroupACLByProductAndIDRequest(BaseModel):
36
40
  r"""The <code>id</code> of the Worker Group or Edge Fleet to get the ACL for."""
37
41
 
38
42
  type: Annotated[
39
- Optional[RbacResource],
43
+ Annotated[Optional[RbacResource], PlainValidator(validate_open_enum(False))],
40
44
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
45
  ] = None
42
46
  r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
43
47
 
48
+ @field_serializer("product")
49
+ def serialize_product(self, value):
50
+ if isinstance(value, str):
51
+ try:
52
+ return models.ProductsCore(value)
53
+ except ValueError:
54
+ return value
55
+ return value
56
+
57
+ @field_serializer("type")
58
+ def serialize_type(self, value):
59
+ if isinstance(value, str):
60
+ try:
61
+ return models.RbacResource(value)
62
+ except ValueError:
63
+ return value
64
+ return value
65
+
44
66
 
45
67
  class GetConfigGroupACLByProductAndIDResponseTypedDict(TypedDict):
46
68
  r"""a list of UserAccessControlList objects"""
@@ -4,12 +4,16 @@ from __future__ import annotations
4
4
  from .productscore import ProductsCore
5
5
  from .rbacresource import RbacResource
6
6
  from .teamaccesscontrollist import TeamAccessControlList, TeamAccessControlListTypedDict
7
+ from cribl_control_plane import models
7
8
  from cribl_control_plane.types import BaseModel
8
9
  from cribl_control_plane.utils import (
9
10
  FieldMetadata,
10
11
  PathParamMetadata,
11
12
  QueryParamMetadata,
13
+ validate_open_enum,
12
14
  )
15
+ from pydantic import field_serializer
16
+ from pydantic.functional_validators import PlainValidator
13
17
  from typing import List, Optional
14
18
  from typing_extensions import Annotated, NotRequired, TypedDict
15
19
 
@@ -25,7 +29,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequestTypedDict(TypedDict):
25
29
 
26
30
  class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
27
31
  product: Annotated[
28
- ProductsCore,
32
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
29
33
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
34
  ]
31
35
  r"""Name of the Cribl product that contains the Worker Group or Edge Fleet."""
@@ -36,11 +40,29 @@ class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
36
40
  r"""The <code>id</code> of the Worker Group or Edge Fleet to get the team ACL for."""
37
41
 
38
42
  type: Annotated[
39
- Optional[RbacResource],
43
+ Annotated[Optional[RbacResource], PlainValidator(validate_open_enum(False))],
40
44
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
45
  ] = None
42
46
  r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
43
47
 
48
+ @field_serializer("product")
49
+ def serialize_product(self, value):
50
+ if isinstance(value, str):
51
+ try:
52
+ return models.ProductsCore(value)
53
+ except ValueError:
54
+ return value
55
+ return value
56
+
57
+ @field_serializer("type")
58
+ def serialize_type(self, value):
59
+ if isinstance(value, str):
60
+ try:
61
+ return models.RbacResource(value)
62
+ except ValueError:
63
+ return value
64
+ return value
65
+
44
66
 
45
67
  class GetConfigGroupACLTeamsByProductAndIDResponseTypedDict(TypedDict):
46
68
  r"""a list of TeamAccessControlList objects"""
@@ -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
 
@@ -24,7 +28,7 @@ class GetConfigGroupByProductAndIDRequestTypedDict(TypedDict):
24
28
 
25
29
  class GetConfigGroupByProductAndIDRequest(BaseModel):
26
30
  product: Annotated[
27
- ProductsCore,
31
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
28
32
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
29
33
  ]
30
34
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -40,6 +44,15 @@ class GetConfigGroupByProductAndIDRequest(BaseModel):
40
44
  ] = None
41
45
  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>."""
42
46
 
47
+ @field_serializer("product")
48
+ def serialize_product(self, value):
49
+ if isinstance(value, str):
50
+ try:
51
+ return models.ProductsCore(value)
52
+ except ValueError:
53
+ return value
54
+ return value
55
+
43
56
 
44
57
  class GetConfigGroupByProductAndIDResponseTypedDict(TypedDict):
45
58
  r"""a list of ConfigGroup objects"""
@@ -2,8 +2,15 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .productscore import ProductsCore
5
+ from cribl_control_plane import models
5
6
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
7
+ from cribl_control_plane.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ validate_open_enum,
11
+ )
12
+ from pydantic import field_serializer
13
+ from pydantic.functional_validators import PlainValidator
7
14
  from typing import List, Optional
8
15
  from typing_extensions import Annotated, NotRequired, TypedDict
9
16
 
@@ -17,7 +24,7 @@ class GetConfigGroupConfigVersionByProductAndIDRequestTypedDict(TypedDict):
17
24
 
18
25
  class GetConfigGroupConfigVersionByProductAndIDRequest(BaseModel):
19
26
  product: Annotated[
20
- ProductsCore,
27
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
21
28
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
22
29
  ]
23
30
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -27,6 +34,15 @@ class GetConfigGroupConfigVersionByProductAndIDRequest(BaseModel):
27
34
  ]
28
35
  r"""The <code>id</code> of the Worker Group or Edge Fleet to get the configuration version for."""
29
36
 
37
+ @field_serializer("product")
38
+ def serialize_product(self, value):
39
+ if isinstance(value, str):
40
+ try:
41
+ return models.ProductsCore(value)
42
+ except ValueError:
43
+ return value
44
+ return value
45
+
30
46
 
31
47
  class GetConfigGroupConfigVersionByProductAndIDResponseTypedDict(TypedDict):
32
48
  r"""a list of string objects"""
@@ -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 .jobinfo import JobInfo, JobInfoTypedDict
4
5
  from cribl_control_plane.types import BaseModel
5
6
  from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
6
- from typing import Any, Dict, List, Optional
7
+ from typing import List, Optional
7
8
  from typing_extensions import Annotated, NotRequired, TypedDict
8
9
 
9
10
 
@@ -20,17 +21,17 @@ class GetOutputPqByIDRequest(BaseModel):
20
21
 
21
22
 
22
23
  class GetOutputPqByIDResponseTypedDict(TypedDict):
23
- r"""a list of any objects"""
24
+ r"""a list of JobInfo objects"""
24
25
 
25
26
  count: NotRequired[int]
26
27
  r"""number of items present in the items array"""
27
- items: NotRequired[List[Dict[str, Any]]]
28
+ items: NotRequired[List[JobInfoTypedDict]]
28
29
 
29
30
 
30
31
  class GetOutputPqByIDResponse(BaseModel):
31
- r"""a list of any objects"""
32
+ r"""a list of JobInfo objects"""
32
33
 
33
34
  count: Optional[int] = None
34
35
  r"""number of items present in the items array"""
35
36
 
36
- items: Optional[List[Dict[str, Any]]] = None
37
+ items: Optional[List[JobInfo]] = None
@@ -10,14 +10,14 @@ from typing_extensions import Annotated, NotRequired, TypedDict
10
10
 
11
11
  class GetPipelineByIDRequestTypedDict(TypedDict):
12
12
  id: str
13
- r"""Unique ID to GET"""
13
+ r"""The <code>id</code> of the Pipeline to get."""
14
14
 
15
15
 
16
16
  class GetPipelineByIDRequest(BaseModel):
17
17
  id: Annotated[
18
18
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
19
19
  ]
20
- r"""Unique ID to GET"""
20
+ r"""The <code>id</code> of the Pipeline to get."""
21
21
 
22
22
 
23
23
  class GetPipelineByIDResponseTypedDict(TypedDict):
@@ -10,14 +10,14 @@ from typing_extensions import Annotated, NotRequired, TypedDict
10
10
 
11
11
  class GetRoutesByIDRequestTypedDict(TypedDict):
12
12
  id: str
13
- r"""Unique ID to GET"""
13
+ r"""The <code>id</code> of the Routing table to get. The supported value is <code>default</code>."""
14
14
 
15
15
 
16
16
  class GetRoutesByIDRequest(BaseModel):
17
17
  id: Annotated[
18
18
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
19
19
  ]
20
- r"""Unique ID to GET"""
20
+ r"""The <code>id</code> of the Routing table to get. The supported value is <code>default</code>."""
21
21
 
22
22
 
23
23
  class GetRoutesByIDResponseTypedDict(TypedDict):
@@ -3,8 +3,15 @@
3
3
  from __future__ import annotations
4
4
  from .distributedsummary import DistributedSummary, DistributedSummaryTypedDict
5
5
  from .workertypes import WorkerTypes
6
+ from cribl_control_plane import models
6
7
  from cribl_control_plane.types import BaseModel
7
- from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
8
+ from cribl_control_plane.utils import (
9
+ FieldMetadata,
10
+ QueryParamMetadata,
11
+ validate_open_enum,
12
+ )
13
+ from pydantic import field_serializer
14
+ from pydantic.functional_validators import PlainValidator
8
15
  from typing import List, Optional
9
16
  from typing_extensions import Annotated, NotRequired, TypedDict
10
17
 
@@ -16,11 +23,20 @@ class GetSummaryRequestTypedDict(TypedDict):
16
23
 
17
24
  class GetSummaryRequest(BaseModel):
18
25
  mode: Annotated[
19
- Optional[WorkerTypes],
26
+ Annotated[Optional[WorkerTypes], PlainValidator(validate_open_enum(False))],
20
27
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
21
28
  ] = None
22
29
  r"""Filter for limiting the response by Cribl product: Cribl Stream (<code>worker</code>) or Cribl Edge (<code>managed-edge</code>)."""
23
30
 
31
+ @field_serializer("mode")
32
+ def serialize_mode(self, value):
33
+ if isinstance(value, str):
34
+ try:
35
+ return models.WorkerTypes(value)
36
+ except ValueError:
37
+ return value
38
+ return value
39
+
24
40
 
25
41
  class GetSummaryResponseTypedDict(TypedDict):
26
42
  r"""a list of DistributedSummary objects"""
@@ -1,23 +1,24 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .branchinfo import BranchInfo, BranchInfoTypedDict
4
5
  from cribl_control_plane.types import BaseModel
5
- from typing import Any, Dict, List, Optional
6
+ from typing import List, Optional
6
7
  from typing_extensions import NotRequired, TypedDict
7
8
 
8
9
 
9
10
  class GetVersionBranchResponseTypedDict(TypedDict):
10
- r"""a list of any objects"""
11
+ r"""a list of BranchInfo objects"""
11
12
 
12
13
  count: NotRequired[int]
13
14
  r"""number of items present in the items array"""
14
- items: NotRequired[List[Dict[str, Any]]]
15
+ items: NotRequired[List[BranchInfoTypedDict]]
15
16
 
16
17
 
17
18
  class GetVersionBranchResponse(BaseModel):
18
- r"""a list of any objects"""
19
+ r"""a list of BranchInfo objects"""
19
20
 
20
21
  count: Optional[int] = None
21
22
  r"""number of items present in the items array"""
22
23
 
23
- items: Optional[List[Dict[str, Any]]] = None
24
+ items: Optional[List[BranchInfo]] = 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 .gitcountresult import GitCountResult, GitCountResultTypedDict
4
5
  from cribl_control_plane.types import BaseModel
5
6
  from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
6
7
  import pydantic
7
- from typing import Any, Dict, List, Optional
8
+ from typing import List, Optional
8
9
  from typing_extensions import Annotated, NotRequired, TypedDict
9
10
 
10
11
 
@@ -32,17 +33,17 @@ class GetVersionCountRequest(BaseModel):
32
33
 
33
34
 
34
35
  class GetVersionCountResponseTypedDict(TypedDict):
35
- r"""a list of any objects"""
36
+ r"""a list of GitCountResult objects"""
36
37
 
37
38
  count: NotRequired[int]
38
39
  r"""number of items present in the items array"""
39
- items: NotRequired[List[Dict[str, Any]]]
40
+ items: NotRequired[List[GitCountResultTypedDict]]
40
41
 
41
42
 
42
43
  class GetVersionCountResponse(BaseModel):
43
- r"""a list of any objects"""
44
+ r"""a list of GitCountResult objects"""
44
45
 
45
46
  count: Optional[int] = None
46
47
  r"""number of items present in the items array"""
47
48
 
48
- items: Optional[List[Dict[str, Any]]] = None
49
+ items: Optional[List[GitCountResult]] = None