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
@@ -2,12 +2,16 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from cribl_control_plane.types import BaseModel
5
- from typing_extensions import TypedDict
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
6
7
 
7
8
 
8
9
  class AuthTokenTypedDict(TypedDict):
10
+ force_password_change: bool
9
11
  token: str
10
12
 
11
13
 
12
14
  class AuthToken(BaseModel):
15
+ force_password_change: Annotated[bool, pydantic.Field(alias="forcePasswordChange")]
16
+
13
17
  token: str
@@ -5,9 +5,9 @@ from cribl_control_plane.types import BaseModel
5
5
  from typing_extensions import TypedDict
6
6
 
7
7
 
8
- class RouteCloneConfTypedDict(TypedDict):
9
- pass
8
+ class BranchInfoTypedDict(TypedDict):
9
+ id: str
10
10
 
11
11
 
12
- class RouteCloneConf(BaseModel):
13
- pass
12
+ class BranchInfo(BaseModel):
13
+ id: str
@@ -3,8 +3,12 @@
3
3
  from __future__ import annotations
4
4
  from .cacheconnectionbackfillstatus import CacheConnectionBackfillStatus
5
5
  from .lakehouseconnectiontype import LakehouseConnectionType
6
+ from cribl_control_plane import models
6
7
  from cribl_control_plane.types import BaseModel
8
+ from cribl_control_plane.utils import validate_open_enum
7
9
  import pydantic
10
+ from pydantic import field_serializer
11
+ from pydantic.functional_validators import PlainValidator
8
12
  from typing import List, Optional
9
13
  from typing_extensions import Annotated, NotRequired, TypedDict
10
14
 
@@ -31,14 +35,38 @@ class CacheConnection(BaseModel):
31
35
  ] = None
32
36
 
33
37
  backfill_status: Annotated[
34
- Optional[CacheConnectionBackfillStatus], pydantic.Field(alias="backfillStatus")
38
+ Annotated[
39
+ Optional[CacheConnectionBackfillStatus],
40
+ PlainValidator(validate_open_enum(False)),
41
+ ],
42
+ pydantic.Field(alias="backfillStatus"),
35
43
  ] = None
36
44
 
37
45
  lakehouse_connection_type: Annotated[
38
- Optional[LakehouseConnectionType],
46
+ Annotated[
47
+ Optional[LakehouseConnectionType], PlainValidator(validate_open_enum(False))
48
+ ],
39
49
  pydantic.Field(alias="lakehouseConnectionType"),
40
50
  ] = None
41
51
 
42
52
  migration_query_id: Annotated[
43
53
  Optional[str], pydantic.Field(alias="migrationQueryId")
44
54
  ] = None
55
+
56
+ @field_serializer("backfill_status")
57
+ def serialize_backfill_status(self, value):
58
+ if isinstance(value, str):
59
+ try:
60
+ return models.CacheConnectionBackfillStatus(value)
61
+ except ValueError:
62
+ return value
63
+ return value
64
+
65
+ @field_serializer("lakehouse_connection_type")
66
+ def serialize_lakehouse_connection_type(self, value):
67
+ if isinstance(value, str):
68
+ try:
69
+ return models.LakehouseConnectionType(value)
70
+ except ValueError:
71
+ return value
72
+ 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 CacheConnectionBackfillStatus(str, Enum):
8
+ class CacheConnectionBackfillStatus(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  SCHEDULED = "scheduled"
9
10
  PENDING = "pending"
10
11
  STARTED = "started"
@@ -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 CloudProvider(str, Enum):
8
+ class CloudProvider(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  AWS = "aws"
9
10
  AZURE = "azure"
@@ -4,20 +4,47 @@ from __future__ import annotations
4
4
  from .commit import Commit, CommitTypedDict
5
5
  from .configgroupcloud import ConfigGroupCloud, ConfigGroupCloudTypedDict
6
6
  from .configgrouplookups import ConfigGroupLookups, ConfigGroupLookupsTypedDict
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 List, Optional
11
15
  from typing_extensions import Annotated, NotRequired, TypedDict
12
16
 
13
17
 
14
- class GitTypedDict(TypedDict):
18
+ class ConfigGroupEstimatedIngestRate(int, Enum, metaclass=utils.OpenEnumMeta):
19
+ r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
20
+
21
+ # 12 MB/sec
22
+ RATE12_MB_PER_SEC = 1024
23
+ # 24 MB/sec
24
+ RATE24_MB_PER_SEC = 2048
25
+ # 36 MB/sec
26
+ RATE36_MB_PER_SEC = 3072
27
+ # 48 MB/sec
28
+ RATE48_MB_PER_SEC = 4096
29
+ # 60 MB/sec
30
+ RATE60_MB_PER_SEC = 5120
31
+ # 84 MB/sec
32
+ RATE84_MB_PER_SEC = 7168
33
+ # 120 MB/sec
34
+ RATE120_MB_PER_SEC = 10240
35
+ # 156 MB/sec
36
+ RATE156_MB_PER_SEC = 13312
37
+ # 180 MB/sec
38
+ RATE180_MB_PER_SEC = 15360
39
+
40
+
41
+ class ConfigGroupGitTypedDict(TypedDict):
15
42
  commit: NotRequired[str]
16
43
  local_changes: NotRequired[float]
17
44
  log: NotRequired[List[CommitTypedDict]]
18
45
 
19
46
 
20
- class Git(BaseModel):
47
+ class ConfigGroupGit(BaseModel):
21
48
  commit: Optional[str] = None
22
49
 
23
50
  local_changes: Annotated[Optional[float], pydantic.Field(alias="localChanges")] = (
@@ -27,18 +54,19 @@ class Git(BaseModel):
27
54
  log: Optional[List[Commit]] = None
28
55
 
29
56
 
30
- class ConfigGroupType(str, Enum):
57
+ class ConfigGroupType(str, Enum, metaclass=utils.OpenEnumMeta):
31
58
  LAKE_ACCESS = "lake_access"
32
59
 
33
60
 
34
61
  class ConfigGroupTypedDict(TypedDict):
35
- config_version: str
36
62
  id: str
37
63
  cloud: NotRequired[ConfigGroupCloudTypedDict]
64
+ config_version: NotRequired[str]
38
65
  deploying_worker_count: NotRequired[float]
39
66
  description: NotRequired[str]
40
- estimated_ingest_rate: NotRequired[float]
41
- git: NotRequired[GitTypedDict]
67
+ estimated_ingest_rate: NotRequired[ConfigGroupEstimatedIngestRate]
68
+ r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
69
+ git: NotRequired[ConfigGroupGitTypedDict]
42
70
  incompatible_worker_count: NotRequired[float]
43
71
  inherits: NotRequired[str]
44
72
  is_fleet: NotRequired[bool]
@@ -57,12 +85,14 @@ class ConfigGroupTypedDict(TypedDict):
57
85
 
58
86
 
59
87
  class ConfigGroup(BaseModel):
60
- config_version: Annotated[str, pydantic.Field(alias="configVersion")]
61
-
62
88
  id: str
63
89
 
64
90
  cloud: Optional[ConfigGroupCloud] = None
65
91
 
92
+ config_version: Annotated[Optional[str], pydantic.Field(alias="configVersion")] = (
93
+ None
94
+ )
95
+
66
96
  deploying_worker_count: Annotated[
67
97
  Optional[float], pydantic.Field(alias="deployingWorkerCount")
68
98
  ] = None
@@ -70,10 +100,15 @@ class ConfigGroup(BaseModel):
70
100
  description: Optional[str] = None
71
101
 
72
102
  estimated_ingest_rate: Annotated[
73
- Optional[float], pydantic.Field(alias="estimatedIngestRate")
103
+ Annotated[
104
+ Optional[ConfigGroupEstimatedIngestRate],
105
+ PlainValidator(validate_open_enum(True)),
106
+ ],
107
+ pydantic.Field(alias="estimatedIngestRate"),
74
108
  ] = None
109
+ r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
75
110
 
76
- git: Optional[Git] = None
111
+ git: Optional[ConfigGroupGit] = None
77
112
 
78
113
  incompatible_worker_count: Annotated[
79
114
  Optional[float], pydantic.Field(alias="incompatibleWorkerCount")
@@ -103,7 +138,9 @@ class ConfigGroup(BaseModel):
103
138
 
104
139
  tags: Optional[str] = None
105
140
 
106
- type: Optional[ConfigGroupType] = None
141
+ type: Annotated[
142
+ Optional[ConfigGroupType], PlainValidator(validate_open_enum(False))
143
+ ] = None
107
144
 
108
145
  upgrade_version: Annotated[
109
146
  Optional[str], pydantic.Field(alias="upgradeVersion")
@@ -114,3 +151,21 @@ class ConfigGroup(BaseModel):
114
151
  worker_remote_access: Annotated[
115
152
  Optional[bool], pydantic.Field(alias="workerRemoteAccess")
116
153
  ] = None
154
+
155
+ @field_serializer("estimated_ingest_rate")
156
+ def serialize_estimated_ingest_rate(self, value):
157
+ if isinstance(value, str):
158
+ try:
159
+ return models.ConfigGroupEstimatedIngestRate(value)
160
+ except ValueError:
161
+ return value
162
+ return value
163
+
164
+ @field_serializer("type")
165
+ def serialize_type(self, value):
166
+ if isinstance(value, str):
167
+ try:
168
+ return models.ConfigGroupType(value)
169
+ except ValueError:
170
+ return value
171
+ return value
@@ -2,9 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .cloudprovider import CloudProvider
5
+ from cribl_control_plane import models
5
6
  from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL
6
- from pydantic import model_serializer
7
- from typing_extensions import TypedDict
7
+ from cribl_control_plane.utils import validate_open_enum
8
+ from pydantic import field_serializer, model_serializer
9
+ from pydantic.functional_validators import PlainValidator
10
+ from typing_extensions import Annotated, TypedDict
8
11
 
9
12
 
10
13
  class ConfigGroupCloudTypedDict(TypedDict):
@@ -13,10 +16,21 @@ class ConfigGroupCloudTypedDict(TypedDict):
13
16
 
14
17
 
15
18
  class ConfigGroupCloud(BaseModel):
16
- provider: Nullable[CloudProvider]
19
+ provider: Annotated[
20
+ Nullable[CloudProvider], PlainValidator(validate_open_enum(False))
21
+ ]
17
22
 
18
23
  region: str
19
24
 
25
+ @field_serializer("provider")
26
+ def serialize_provider(self, value):
27
+ if isinstance(value, str):
28
+ try:
29
+ return models.CloudProvider(value)
30
+ except ValueError:
31
+ return value
32
+ return value
33
+
20
34
  @model_serializer(mode="wrap")
21
35
  def serialize_model(self, handler):
22
36
  optional_fields = []
@@ -2,32 +2,50 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .configgroup import ConfigGroup, ConfigGroupTypedDict
5
+ from .groupcreaterequest import GroupCreateRequest, GroupCreateRequestTypedDict
5
6
  from .productscore import ProductsCore
7
+ from cribl_control_plane import models
6
8
  from cribl_control_plane.types import BaseModel
7
- from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
9
+ from cribl_control_plane.utils import (
10
+ FieldMetadata,
11
+ PathParamMetadata,
12
+ RequestMetadata,
13
+ validate_open_enum,
14
+ )
15
+ from pydantic import field_serializer
16
+ from pydantic.functional_validators import PlainValidator
8
17
  from typing import List, Optional
9
18
  from typing_extensions import Annotated, NotRequired, TypedDict
10
19
 
11
20
 
12
21
  class CreateConfigGroupByProductRequestTypedDict(TypedDict):
13
22
  product: ProductsCore
14
- r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
15
- config_group: ConfigGroupTypedDict
16
- r"""ConfigGroup object"""
23
+ r"""required Name of the Cribl product to add the Worker Group or Edge Fleet to."""
24
+ group_create_request: GroupCreateRequestTypedDict
25
+ r"""GroupCreateRequest object"""
17
26
 
18
27
 
19
28
  class CreateConfigGroupByProductRequest(BaseModel):
20
29
  product: Annotated[
21
- ProductsCore,
30
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
22
31
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
23
32
  ]
24
- r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
33
+ r"""required Name of the Cribl product to add the Worker Group or Edge Fleet to."""
25
34
 
26
- config_group: Annotated[
27
- ConfigGroup,
35
+ group_create_request: Annotated[
36
+ GroupCreateRequest,
28
37
  FieldMetadata(request=RequestMetadata(media_type="application/json")),
29
38
  ]
30
- r"""ConfigGroup object"""
39
+ r"""GroupCreateRequest object"""
40
+
41
+ @field_serializer("product")
42
+ def serialize_product(self, value):
43
+ if isinstance(value, str):
44
+ try:
45
+ return models.ProductsCore(value)
46
+ except ValueError:
47
+ return value
48
+ return value
31
49
 
32
50
 
33
51
  class CreateConfigGroupByProductResponseTypedDict(TypedDict):
@@ -2,9 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .addhectokenrequest import AddHecTokenRequest, AddHecTokenRequestTypedDict
5
+ from .inputsplunkhec import InputSplunkHec, InputSplunkHecTypedDict
5
6
  from cribl_control_plane.types import BaseModel
6
7
  from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
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
 
@@ -29,17 +30,17 @@ class CreateInputHecTokenByIDRequest(BaseModel):
29
30
 
30
31
 
31
32
  class CreateInputHecTokenByIDResponseTypedDict(TypedDict):
32
- r"""a list of any objects"""
33
+ r"""a list of InputSplunkHec objects"""
33
34
 
34
35
  count: NotRequired[int]
35
36
  r"""number of items present in the items array"""
36
- items: NotRequired[List[Dict[str, Any]]]
37
+ items: NotRequired[List[InputSplunkHecTypedDict]]
37
38
 
38
39
 
39
40
  class CreateInputHecTokenByIDResponse(BaseModel):
40
- r"""a list of any objects"""
41
+ r"""a list of InputSplunkHec objects"""
41
42
 
42
43
  count: Optional[int] = None
43
44
  r"""number of items present in the items array"""
44
45
 
45
- items: Optional[List[Dict[str, Any]]] = None
46
+ items: Optional[List[InputSplunkHec]] = None
@@ -11,7 +11,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict
11
11
 
12
12
  class CreateRoutesAppendByIDRequestTypedDict(TypedDict):
13
13
  id: str
14
- r"""the route table to be appended to - currently default is the only supported value"""
14
+ r"""The <code>id</code> of the Routing table to add the Route to. The supported value is <code>default</code>."""
15
15
  request_body: List[RouteConfTypedDict]
16
16
  r"""RouteDefinitions object"""
17
17
 
@@ -20,7 +20,7 @@ class CreateRoutesAppendByIDRequest(BaseModel):
20
20
  id: Annotated[
21
21
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
22
22
  ]
23
- r"""the route table to be appended to - currently default is the only supported value"""
23
+ r"""The <code>id</code> of the Routing table to add the Route to. The supported value is <code>default</code>."""
24
24
 
25
25
  request_body: Annotated[
26
26
  List[RouteConf],
@@ -2,22 +2,22 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from cribl_control_plane.types import BaseModel
5
- from typing import Any, Dict, List, Optional
5
+ from typing import List, Optional
6
6
  from typing_extensions import NotRequired, TypedDict
7
7
 
8
8
 
9
9
  class CreateVersionPushResponseTypedDict(TypedDict):
10
- r"""a list of any objects"""
10
+ r"""a list of string objects"""
11
11
 
12
12
  count: NotRequired[int]
13
13
  r"""number of items present in the items array"""
14
- items: NotRequired[List[Dict[str, Any]]]
14
+ items: NotRequired[List[str]]
15
15
 
16
16
 
17
17
  class CreateVersionPushResponse(BaseModel):
18
- r"""a list of any objects"""
18
+ r"""a list of string objects"""
19
19
 
20
20
  count: Optional[int] = None
21
21
  r"""number of items present in the items array"""
22
22
 
23
- items: Optional[List[Dict[str, Any]]] = None
23
+ items: Optional[List[str]] = None
@@ -14,7 +14,7 @@ class CreateVersionRevertRequestTypedDict(TypedDict):
14
14
  git_revert_params: GitRevertParamsTypedDict
15
15
  r"""GitRevertParams object"""
16
16
  group_id: NotRequired[str]
17
- r"""Group ID"""
17
+ r"""The <code>id</code> of the Worker Group or Edge Fleet to revert the commit for. Required in Distributed deployments. Omit in Single-instance deployments."""
18
18
 
19
19
 
20
20
  class CreateVersionRevertRequest(BaseModel):
@@ -29,7 +29,7 @@ class CreateVersionRevertRequest(BaseModel):
29
29
  pydantic.Field(alias="groupId"),
30
30
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
31
31
  ] = None
32
- r"""Group ID"""
32
+ r"""The <code>id</code> of the Worker Group or Edge Fleet to revert the commit for. Required in Distributed deployments. Omit in Single-instance deployments."""
33
33
 
34
34
 
35
35
  class CreateVersionRevertResponseTypedDict(TypedDict):
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
  from cribl_control_plane.types import BaseModel
5
5
  from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
6
6
  import pydantic
7
- from typing import List, Optional
7
+ from typing import Any, Dict, List, Optional
8
8
  from typing_extensions import Annotated, NotRequired, TypedDict
9
9
 
10
10
 
@@ -27,7 +27,7 @@ class CreateVersionUndoResponseTypedDict(TypedDict):
27
27
 
28
28
  count: NotRequired[int]
29
29
  r"""number of items present in the items array"""
30
- items: NotRequired[List[str]]
30
+ items: NotRequired[List[Dict[str, Any]]]
31
31
 
32
32
 
33
33
  class CreateVersionUndoResponse(BaseModel):
@@ -36,4 +36,4 @@ class CreateVersionUndoResponse(BaseModel):
36
36
  count: Optional[int] = None
37
37
  r"""number of items present in the items array"""
38
38
 
39
- items: Optional[List[str]] = None
39
+ items: Optional[List[Dict[str, Any]]] = None
@@ -2,18 +2,23 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .cacheconnection import CacheConnection, CacheConnectionTypedDict
5
+ from .lakedatasetmetrics import LakeDatasetMetrics, LakeDatasetMetricsTypedDict
5
6
  from .lakedatasetsearchconfig import (
6
7
  LakeDatasetSearchConfig,
7
8
  LakeDatasetSearchConfigTypedDict,
8
9
  )
10
+ from cribl_control_plane import models, utils
9
11
  from cribl_control_plane.types import BaseModel
12
+ from cribl_control_plane.utils import validate_open_enum
10
13
  from enum import Enum
11
14
  import pydantic
15
+ from pydantic import field_serializer
16
+ from pydantic.functional_validators import PlainValidator
12
17
  from typing import List, Optional
13
18
  from typing_extensions import Annotated, NotRequired, TypedDict
14
19
 
15
20
 
16
- class CriblLakeDatasetFormat(str, Enum):
21
+ class CriblLakeDatasetFormat(str, Enum, metaclass=utils.OpenEnumMeta):
17
22
  JSON = "json"
18
23
  DDSS = "ddss"
19
24
  PARQUET = "parquet"
@@ -28,6 +33,7 @@ class CriblLakeDatasetTypedDict(TypedDict):
28
33
  description: NotRequired[str]
29
34
  format_: NotRequired[CriblLakeDatasetFormat]
30
35
  http_da_used: NotRequired[bool]
36
+ metrics: NotRequired[LakeDatasetMetricsTypedDict]
31
37
  retention_period_in_days: NotRequired[float]
32
38
  search_config: NotRequired[LakeDatasetSearchConfigTypedDict]
33
39
  storage_location_id: NotRequired[str]
@@ -54,11 +60,16 @@ class CriblLakeDataset(BaseModel):
54
60
  description: Optional[str] = None
55
61
 
56
62
  format_: Annotated[
57
- Optional[CriblLakeDatasetFormat], pydantic.Field(alias="format")
63
+ Annotated[
64
+ Optional[CriblLakeDatasetFormat], PlainValidator(validate_open_enum(False))
65
+ ],
66
+ pydantic.Field(alias="format"),
58
67
  ] = None
59
68
 
60
69
  http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None
61
70
 
71
+ metrics: Optional[LakeDatasetMetrics] = None
72
+
62
73
  retention_period_in_days: Annotated[
63
74
  Optional[float], pydantic.Field(alias="retentionPeriodInDays")
64
75
  ] = None
@@ -72,3 +83,12 @@ class CriblLakeDataset(BaseModel):
72
83
  ] = None
73
84
 
74
85
  view_name: Annotated[Optional[str], pydantic.Field(alias="viewName")] = None
86
+
87
+ @field_serializer("format_")
88
+ def serialize_format_(self, value):
89
+ if isinstance(value, str):
90
+ try:
91
+ return models.CriblLakeDatasetFormat(value)
92
+ except ValueError:
93
+ return value
94
+ return value
@@ -0,0 +1,95 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .cacheconnection import CacheConnection, CacheConnectionTypedDict
5
+ from .lakedatasetmetrics import LakeDatasetMetrics, LakeDatasetMetricsTypedDict
6
+ from .lakedatasetsearchconfig import (
7
+ LakeDatasetSearchConfig,
8
+ LakeDatasetSearchConfigTypedDict,
9
+ )
10
+ from cribl_control_plane import models, utils
11
+ from cribl_control_plane.types import BaseModel
12
+ from cribl_control_plane.utils import validate_open_enum
13
+ from enum import Enum
14
+ import pydantic
15
+ from pydantic import field_serializer
16
+ from pydantic.functional_validators import PlainValidator
17
+ from typing import List, Optional
18
+ from typing_extensions import Annotated, NotRequired, TypedDict
19
+
20
+
21
+ class CriblLakeDatasetUpdateFormat(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ JSON = "json"
23
+ DDSS = "ddss"
24
+ PARQUET = "parquet"
25
+
26
+
27
+ class CriblLakeDatasetUpdateTypedDict(TypedDict):
28
+ accelerated_fields: NotRequired[List[str]]
29
+ bucket_name: NotRequired[str]
30
+ cache_connection: NotRequired[CacheConnectionTypedDict]
31
+ deletion_started_at: NotRequired[float]
32
+ description: NotRequired[str]
33
+ format_: NotRequired[CriblLakeDatasetUpdateFormat]
34
+ http_da_used: NotRequired[bool]
35
+ id: NotRequired[str]
36
+ metrics: NotRequired[LakeDatasetMetricsTypedDict]
37
+ retention_period_in_days: NotRequired[float]
38
+ search_config: NotRequired[LakeDatasetSearchConfigTypedDict]
39
+ storage_location_id: NotRequired[str]
40
+ view_name: NotRequired[str]
41
+
42
+
43
+ class CriblLakeDatasetUpdate(BaseModel):
44
+ accelerated_fields: Annotated[
45
+ Optional[List[str]], pydantic.Field(alias="acceleratedFields")
46
+ ] = None
47
+
48
+ bucket_name: Annotated[Optional[str], pydantic.Field(alias="bucketName")] = None
49
+
50
+ cache_connection: Annotated[
51
+ Optional[CacheConnection], pydantic.Field(alias="cacheConnection")
52
+ ] = None
53
+
54
+ deletion_started_at: Annotated[
55
+ Optional[float], pydantic.Field(alias="deletionStartedAt")
56
+ ] = None
57
+
58
+ description: Optional[str] = None
59
+
60
+ format_: Annotated[
61
+ Annotated[
62
+ Optional[CriblLakeDatasetUpdateFormat],
63
+ PlainValidator(validate_open_enum(False)),
64
+ ],
65
+ pydantic.Field(alias="format"),
66
+ ] = None
67
+
68
+ http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None
69
+
70
+ id: Optional[str] = None
71
+
72
+ metrics: Optional[LakeDatasetMetrics] = None
73
+
74
+ retention_period_in_days: Annotated[
75
+ Optional[float], pydantic.Field(alias="retentionPeriodInDays")
76
+ ] = None
77
+
78
+ search_config: Annotated[
79
+ Optional[LakeDatasetSearchConfig], pydantic.Field(alias="searchConfig")
80
+ ] = None
81
+
82
+ storage_location_id: Annotated[
83
+ Optional[str], pydantic.Field(alias="storageLocationId")
84
+ ] = None
85
+
86
+ view_name: Annotated[Optional[str], pydantic.Field(alias="viewName")] = None
87
+
88
+ @field_serializer("format_")
89
+ def serialize_format_(self, value):
90
+ if isinstance(value, str):
91
+ try:
92
+ return models.CriblLakeDatasetUpdateFormat(value)
93
+ except ValueError:
94
+ return value
95
+ return value
@@ -5,14 +5,18 @@ from .datasetmetadataruninfo import (
5
5
  DatasetMetadataRunInfo,
6
6
  DatasetMetadataRunInfoTypedDict,
7
7
  )
8
+ from cribl_control_plane import models, utils
8
9
  from cribl_control_plane.types import BaseModel
10
+ from cribl_control_plane.utils import validate_open_enum
9
11
  from enum import Enum
10
12
  import pydantic
13
+ from pydantic import field_serializer
14
+ from pydantic.functional_validators import PlainValidator
11
15
  from typing import List, Optional
12
16
  from typing_extensions import Annotated, NotRequired, TypedDict
13
17
 
14
18
 
15
- class ScanMode(str, Enum):
19
+ class ScanMode(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  DETAILED = "detailed"
17
21
  QUICK = "quick"
18
22
 
@@ -32,8 +36,20 @@ class DatasetMetadata(BaseModel):
32
36
 
33
37
  field_list: Annotated[List[str], pydantic.Field(alias="fieldList")]
34
38
 
35
- scan_mode: Annotated[ScanMode, pydantic.Field(alias="scanMode")]
39
+ scan_mode: Annotated[
40
+ Annotated[ScanMode, PlainValidator(validate_open_enum(False))],
41
+ pydantic.Field(alias="scanMode"),
42
+ ]
36
43
 
37
44
  latest_run_info: Annotated[
38
45
  Optional[DatasetMetadataRunInfo], pydantic.Field(alias="latestRunInfo")
39
46
  ] = None
47
+
48
+ @field_serializer("scan_mode")
49
+ def serialize_scan_mode(self, value):
50
+ if isinstance(value, str):
51
+ try:
52
+ return models.ScanMode(value)
53
+ except ValueError:
54
+ return value
55
+ return value