cribl-control-plane 0.0.50__py3-none-any.whl → 0.0.50rc2__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 (176) hide show
  1. cribl_control_plane/_version.py +3 -5
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/groups_sdk.py +4 -4
  4. cribl_control_plane/health.py +6 -2
  5. cribl_control_plane/models/__init__.py +56 -31
  6. cribl_control_plane/models/cacheconnection.py +10 -2
  7. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  8. cribl_control_plane/models/cloudprovider.py +2 -1
  9. cribl_control_plane/models/configgroup.py +24 -4
  10. cribl_control_plane/models/configgroupcloud.py +6 -2
  11. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  12. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  13. cribl_control_plane/models/createversionpushop.py +5 -5
  14. cribl_control_plane/models/cribllakedataset.py +8 -2
  15. cribl_control_plane/models/datasetmetadata.py +8 -2
  16. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  17. cribl_control_plane/models/error.py +16 -0
  18. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  20. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  21. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  22. cribl_control_plane/models/gethealthinfoop.py +17 -0
  23. cribl_control_plane/models/getsummaryop.py +7 -2
  24. cribl_control_plane/models/getversionshowop.py +6 -5
  25. cribl_control_plane/models/gitinfo.py +14 -3
  26. cribl_control_plane/models/gitshowresult.py +19 -0
  27. cribl_control_plane/models/hbcriblinfo.py +24 -3
  28. cribl_control_plane/models/healthstatus.py +7 -4
  29. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  30. cribl_control_plane/models/input.py +65 -63
  31. cribl_control_plane/models/inputappscope.py +34 -14
  32. cribl_control_plane/models/inputazureblob.py +17 -6
  33. cribl_control_plane/models/inputcollection.py +11 -4
  34. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  35. cribl_control_plane/models/inputcribl.py +11 -4
  36. cribl_control_plane/models/inputcriblhttp.py +23 -8
  37. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  38. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  39. cribl_control_plane/models/inputcribltcp.py +23 -8
  40. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  41. cribl_control_plane/models/inputdatadogagent.py +24 -8
  42. cribl_control_plane/models/inputdatagen.py +11 -4
  43. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  44. cribl_control_plane/models/inputelastic.py +40 -14
  45. cribl_control_plane/models/inputeventhub.py +15 -6
  46. cribl_control_plane/models/inputexec.py +14 -6
  47. cribl_control_plane/models/inputfile.py +15 -6
  48. cribl_control_plane/models/inputfirehose.py +23 -8
  49. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  50. cribl_control_plane/models/inputgrafana.py +67 -24
  51. cribl_control_plane/models/inputhttp.py +23 -8
  52. cribl_control_plane/models/inputhttpraw.py +23 -8
  53. cribl_control_plane/models/inputjournalfiles.py +12 -4
  54. cribl_control_plane/models/inputkafka.py +41 -28
  55. cribl_control_plane/models/inputkinesis.py +38 -14
  56. cribl_control_plane/models/inputkubeevents.py +11 -4
  57. cribl_control_plane/models/inputkubelogs.py +16 -8
  58. cribl_control_plane/models/inputkubemetrics.py +16 -8
  59. cribl_control_plane/models/inputloki.py +29 -10
  60. cribl_control_plane/models/inputmetrics.py +23 -8
  61. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  62. cribl_control_plane/models/inputmsk.py +48 -30
  63. cribl_control_plane/models/inputnetflow.py +11 -4
  64. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  65. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  66. cribl_control_plane/models/inputoffice365service.py +35 -16
  67. cribl_control_plane/models/inputopentelemetry.py +38 -16
  68. cribl_control_plane/models/inputprometheus.py +50 -18
  69. cribl_control_plane/models/inputprometheusrw.py +30 -10
  70. cribl_control_plane/models/inputrawudp.py +11 -4
  71. cribl_control_plane/models/inputs3.py +21 -8
  72. cribl_control_plane/models/inputs3inventory.py +26 -10
  73. cribl_control_plane/models/inputsecuritylake.py +27 -10
  74. cribl_control_plane/models/inputsnmp.py +16 -6
  75. cribl_control_plane/models/inputsplunk.py +33 -12
  76. cribl_control_plane/models/inputsplunkhec.py +29 -10
  77. cribl_control_plane/models/inputsplunksearch.py +33 -14
  78. cribl_control_plane/models/inputsqs.py +27 -10
  79. cribl_control_plane/models/inputsyslog.py +43 -16
  80. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  81. cribl_control_plane/models/inputsystemstate.py +16 -8
  82. cribl_control_plane/models/inputtcp.py +29 -10
  83. cribl_control_plane/models/inputtcpjson.py +29 -10
  84. cribl_control_plane/models/inputwef.py +37 -14
  85. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  86. cribl_control_plane/models/inputwineventlogs.py +20 -10
  87. cribl_control_plane/models/inputwiz.py +21 -8
  88. cribl_control_plane/models/inputwizwebhook.py +23 -8
  89. cribl_control_plane/models/inputzscalerhec.py +29 -10
  90. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  91. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  92. cribl_control_plane/models/masterworkerentry.py +7 -2
  93. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  95. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  96. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  97. cribl_control_plane/models/nodeupgradestate.py +2 -1
  98. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  99. cribl_control_plane/models/output.py +84 -79
  100. cribl_control_plane/models/outputazureblob.py +48 -18
  101. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  102. cribl_control_plane/models/outputazureeventhub.py +40 -18
  103. cribl_control_plane/models/outputazurelogs.py +35 -12
  104. cribl_control_plane/models/outputclickhouse.py +55 -20
  105. cribl_control_plane/models/outputcloudwatch.py +29 -10
  106. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  107. cribl_control_plane/models/outputcriblhttp.py +44 -16
  108. cribl_control_plane/models/outputcribllake.py +46 -16
  109. cribl_control_plane/models/outputcribltcp.py +45 -18
  110. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  111. cribl_control_plane/models/outputdatabricks.py +282 -0
  112. cribl_control_plane/models/outputdatadog.py +48 -20
  113. cribl_control_plane/models/outputdataset.py +46 -18
  114. cribl_control_plane/models/outputdiskspool.py +7 -2
  115. cribl_control_plane/models/outputdls3.py +68 -24
  116. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  117. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  118. cribl_control_plane/models/outputelastic.py +43 -18
  119. cribl_control_plane/models/outputelasticcloud.py +36 -12
  120. cribl_control_plane/models/outputexabeam.py +29 -10
  121. cribl_control_plane/models/outputfilesystem.py +39 -14
  122. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  123. cribl_control_plane/models/outputgooglecloudlogging.py +50 -18
  124. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  125. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  126. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  127. cribl_control_plane/models/outputgraphite.py +31 -14
  128. cribl_control_plane/models/outputhoneycomb.py +35 -12
  129. cribl_control_plane/models/outputhumiohec.py +43 -16
  130. cribl_control_plane/models/outputinfluxdb.py +42 -16
  131. cribl_control_plane/models/outputkafka.py +69 -40
  132. cribl_control_plane/models/outputkinesis.py +40 -16
  133. cribl_control_plane/models/outputloki.py +41 -16
  134. cribl_control_plane/models/outputminio.py +65 -24
  135. cribl_control_plane/models/outputmsk.py +77 -42
  136. cribl_control_plane/models/outputnewrelic.py +43 -18
  137. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  138. cribl_control_plane/models/outputopentelemetry.py +67 -26
  139. cribl_control_plane/models/outputprometheus.py +35 -12
  140. cribl_control_plane/models/outputring.py +19 -8
  141. cribl_control_plane/models/outputs3.py +68 -26
  142. cribl_control_plane/models/outputsecuritylake.py +52 -18
  143. cribl_control_plane/models/outputsentinel.py +45 -18
  144. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  145. cribl_control_plane/models/outputservicenow.py +60 -24
  146. cribl_control_plane/models/outputsignalfx.py +37 -14
  147. cribl_control_plane/models/outputsns.py +36 -14
  148. cribl_control_plane/models/outputsplunk.py +60 -24
  149. cribl_control_plane/models/outputsplunkhec.py +35 -12
  150. cribl_control_plane/models/outputsplunklb.py +77 -30
  151. cribl_control_plane/models/outputsqs.py +41 -16
  152. cribl_control_plane/models/outputstatsd.py +30 -14
  153. cribl_control_plane/models/outputstatsdext.py +29 -12
  154. cribl_control_plane/models/outputsumologic.py +35 -12
  155. cribl_control_plane/models/outputsyslog.py +58 -24
  156. cribl_control_plane/models/outputtcpjson.py +52 -20
  157. cribl_control_plane/models/outputwavefront.py +35 -12
  158. cribl_control_plane/models/outputwebhook.py +58 -22
  159. cribl_control_plane/models/outputxsiam.py +35 -14
  160. cribl_control_plane/models/productscore.py +2 -1
  161. cribl_control_plane/models/rbacresource.py +2 -1
  162. cribl_control_plane/models/resourcepolicy.py +4 -2
  163. cribl_control_plane/models/routeconf.py +3 -4
  164. cribl_control_plane/models/runnablejobcollection.py +30 -13
  165. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  166. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  167. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  168. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  169. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  170. cribl_control_plane/models/workertypes.py +2 -1
  171. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/METADATA +1 -1
  172. cribl_control_plane-0.0.50rc2.dist-info/RECORD +327 -0
  173. cribl_control_plane/models/appmode.py +0 -13
  174. cribl_control_plane/models/routecloneconf.py +0 -13
  175. cribl_control_plane-0.0.50.dist-info/RECORD +0 -325
  176. {cribl_control_plane-0.0.50.dist-info → cribl_control_plane-0.0.50rc2.dist-info}/WHEEL +0 -0
@@ -3,8 +3,10 @@
3
3
  from __future__ import annotations
4
4
  from .cloudprovider import CloudProvider
5
5
  from cribl_control_plane.types import BaseModel, Nullable, UNSET_SENTINEL
6
+ from cribl_control_plane.utils import validate_open_enum
6
7
  from pydantic import model_serializer
7
- from typing_extensions import TypedDict
8
+ from pydantic.functional_validators import PlainValidator
9
+ from typing_extensions import Annotated, TypedDict
8
10
 
9
11
 
10
12
  class ConfigGroupCloudTypedDict(TypedDict):
@@ -13,7 +15,9 @@ class ConfigGroupCloudTypedDict(TypedDict):
13
15
 
14
16
 
15
17
  class ConfigGroupCloud(BaseModel):
16
- provider: Nullable[CloudProvider]
18
+ provider: Annotated[
19
+ Nullable[CloudProvider], PlainValidator(validate_open_enum(False))
20
+ ]
17
21
 
18
22
  region: str
19
23
 
@@ -4,7 +4,13 @@ from __future__ import annotations
4
4
  from .configgroup import ConfigGroup, ConfigGroupTypedDict
5
5
  from .productscore import ProductsCore
6
6
  from cribl_control_plane.types import BaseModel
7
- from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
7
+ from cribl_control_plane.utils import (
8
+ FieldMetadata,
9
+ PathParamMetadata,
10
+ RequestMetadata,
11
+ validate_open_enum,
12
+ )
13
+ from pydantic.functional_validators import PlainValidator
8
14
  from typing import List, Optional
9
15
  from typing_extensions import Annotated, NotRequired, TypedDict
10
16
 
@@ -18,7 +24,7 @@ class CreateConfigGroupByProductRequestTypedDict(TypedDict):
18
24
 
19
25
  class CreateConfigGroupByProductRequest(BaseModel):
20
26
  product: Annotated[
21
- ProductsCore,
27
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
22
28
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
23
29
  ]
24
30
  r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
@@ -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
@@ -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
@@ -6,14 +6,17 @@ from .lakedatasetsearchconfig import (
6
6
  LakeDatasetSearchConfig,
7
7
  LakeDatasetSearchConfigTypedDict,
8
8
  )
9
+ from cribl_control_plane import utils
9
10
  from cribl_control_plane.types import BaseModel
11
+ from cribl_control_plane.utils import validate_open_enum
10
12
  from enum import Enum
11
13
  import pydantic
14
+ from pydantic.functional_validators import PlainValidator
12
15
  from typing import List, Optional
13
16
  from typing_extensions import Annotated, NotRequired, TypedDict
14
17
 
15
18
 
16
- class CriblLakeDatasetFormat(str, Enum):
19
+ class CriblLakeDatasetFormat(str, Enum, metaclass=utils.OpenEnumMeta):
17
20
  JSON = "json"
18
21
  DDSS = "ddss"
19
22
  PARQUET = "parquet"
@@ -54,7 +57,10 @@ class CriblLakeDataset(BaseModel):
54
57
  description: Optional[str] = None
55
58
 
56
59
  format_: Annotated[
57
- Optional[CriblLakeDatasetFormat], pydantic.Field(alias="format")
60
+ Annotated[
61
+ Optional[CriblLakeDatasetFormat], PlainValidator(validate_open_enum(False))
62
+ ],
63
+ pydantic.Field(alias="format"),
58
64
  ] = None
59
65
 
60
66
  http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None
@@ -5,14 +5,17 @@ from .datasetmetadataruninfo import (
5
5
  DatasetMetadataRunInfo,
6
6
  DatasetMetadataRunInfoTypedDict,
7
7
  )
8
+ from cribl_control_plane import 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.functional_validators import PlainValidator
11
14
  from typing import List, Optional
12
15
  from typing_extensions import Annotated, NotRequired, TypedDict
13
16
 
14
17
 
15
- class ScanMode(str, Enum):
18
+ class ScanMode(str, Enum, metaclass=utils.OpenEnumMeta):
16
19
  DETAILED = "detailed"
17
20
  QUICK = "quick"
18
21
 
@@ -32,7 +35,10 @@ class DatasetMetadata(BaseModel):
32
35
 
33
36
  field_list: Annotated[List[str], pydantic.Field(alias="fieldList")]
34
37
 
35
- scan_mode: Annotated[ScanMode, pydantic.Field(alias="scanMode")]
38
+ scan_mode: Annotated[
39
+ Annotated[ScanMode, PlainValidator(validate_open_enum(False))],
40
+ pydantic.Field(alias="scanMode"),
41
+ ]
36
42
 
37
43
  latest_run_info: Annotated[
38
44
  Optional[DatasetMetadataRunInfo], pydantic.Field(alias="latestRunInfo")
@@ -4,7 +4,12 @@ from __future__ import annotations
4
4
  from .configgroup import ConfigGroup, ConfigGroupTypedDict
5
5
  from .productscore import ProductsCore
6
6
  from cribl_control_plane.types import BaseModel
7
- 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.functional_validators import PlainValidator
8
13
  from typing import List, Optional
9
14
  from typing_extensions import Annotated, NotRequired, TypedDict
10
15
 
@@ -18,7 +23,7 @@ class DeleteConfigGroupByProductAndIDRequestTypedDict(TypedDict):
18
23
 
19
24
  class DeleteConfigGroupByProductAndIDRequest(BaseModel):
20
25
  product: Annotated[
21
- ProductsCore,
26
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
22
27
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
23
28
  ]
24
29
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -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 import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class ErrorTypedDict(TypedDict):
10
+ message: NotRequired[str]
11
+ r"""Error message"""
12
+
13
+
14
+ class Error(BaseModel):
15
+ message: Optional[str] = None
16
+ r"""Error message"""
@@ -9,7 +9,9 @@ from cribl_control_plane.utils import (
9
9
  FieldMetadata,
10
10
  PathParamMetadata,
11
11
  QueryParamMetadata,
12
+ validate_open_enum,
12
13
  )
14
+ from pydantic.functional_validators import PlainValidator
13
15
  from typing import List, Optional
14
16
  from typing_extensions import Annotated, NotRequired, TypedDict
15
17
 
@@ -25,7 +27,7 @@ class GetConfigGroupACLByProductAndIDRequestTypedDict(TypedDict):
25
27
 
26
28
  class GetConfigGroupACLByProductAndIDRequest(BaseModel):
27
29
  product: Annotated[
28
- ProductsCore,
30
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
29
31
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
32
  ]
31
33
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -36,7 +38,7 @@ class GetConfigGroupACLByProductAndIDRequest(BaseModel):
36
38
  r"""The <code>id</code> of the Worker Group or Edge Fleet to get the ACL for."""
37
39
 
38
40
  type: Annotated[
39
- Optional[RbacResource],
41
+ Annotated[Optional[RbacResource], PlainValidator(validate_open_enum(False))],
40
42
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
43
  ] = None
42
44
  r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
@@ -9,7 +9,9 @@ from cribl_control_plane.utils import (
9
9
  FieldMetadata,
10
10
  PathParamMetadata,
11
11
  QueryParamMetadata,
12
+ validate_open_enum,
12
13
  )
14
+ from pydantic.functional_validators import PlainValidator
13
15
  from typing import List, Optional
14
16
  from typing_extensions import Annotated, NotRequired, TypedDict
15
17
 
@@ -25,7 +27,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequestTypedDict(TypedDict):
25
27
 
26
28
  class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
27
29
  product: Annotated[
28
- ProductsCore,
30
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
29
31
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
30
32
  ]
31
33
  r"""Name of the Cribl product that contains the Worker Group or Edge Fleet."""
@@ -36,7 +38,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
36
38
  r"""The <code>id</code> of the Worker Group or Edge Fleet to get the team ACL for."""
37
39
 
38
40
  type: Annotated[
39
- Optional[RbacResource],
41
+ Annotated[Optional[RbacResource], PlainValidator(validate_open_enum(False))],
40
42
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
41
43
  ] = None
42
44
  r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
@@ -8,7 +8,9 @@ from cribl_control_plane.utils import (
8
8
  FieldMetadata,
9
9
  PathParamMetadata,
10
10
  QueryParamMetadata,
11
+ validate_open_enum,
11
12
  )
13
+ from pydantic.functional_validators import PlainValidator
12
14
  from typing import List, Optional
13
15
  from typing_extensions import Annotated, NotRequired, TypedDict
14
16
 
@@ -24,7 +26,7 @@ class GetConfigGroupByProductAndIDRequestTypedDict(TypedDict):
24
26
 
25
27
  class GetConfigGroupByProductAndIDRequest(BaseModel):
26
28
  product: Annotated[
27
- ProductsCore,
29
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
28
30
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
29
31
  ]
30
32
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -3,7 +3,12 @@
3
3
  from __future__ import annotations
4
4
  from .productscore import ProductsCore
5
5
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
6
+ from cribl_control_plane.utils import (
7
+ FieldMetadata,
8
+ PathParamMetadata,
9
+ validate_open_enum,
10
+ )
11
+ from pydantic.functional_validators import PlainValidator
7
12
  from typing import List, Optional
8
13
  from typing_extensions import Annotated, NotRequired, TypedDict
9
14
 
@@ -17,7 +22,7 @@ class GetConfigGroupConfigVersionByProductAndIDRequestTypedDict(TypedDict):
17
22
 
18
23
  class GetConfigGroupConfigVersionByProductAndIDRequest(BaseModel):
19
24
  product: Annotated[
20
- ProductsCore,
25
+ Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
21
26
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
22
27
  ]
23
28
  r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .error import Error, ErrorTypedDict
5
+ from .healthstatus import HealthStatus, HealthStatusTypedDict
6
+ from typing import Union
7
+ from typing_extensions import TypeAliasType
8
+
9
+
10
+ GetHealthInfoResponseTypedDict = TypeAliasType(
11
+ "GetHealthInfoResponseTypedDict", Union[ErrorTypedDict, HealthStatusTypedDict]
12
+ )
13
+
14
+
15
+ GetHealthInfoResponse = TypeAliasType(
16
+ "GetHealthInfoResponse", Union[Error, HealthStatus]
17
+ )
@@ -4,7 +4,12 @@ from __future__ import annotations
4
4
  from .distributedsummary import DistributedSummary, DistributedSummaryTypedDict
5
5
  from .workertypes import WorkerTypes
6
6
  from cribl_control_plane.types import BaseModel
7
- from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
7
+ from cribl_control_plane.utils import (
8
+ FieldMetadata,
9
+ QueryParamMetadata,
10
+ validate_open_enum,
11
+ )
12
+ from pydantic.functional_validators import PlainValidator
8
13
  from typing import List, Optional
9
14
  from typing_extensions import Annotated, NotRequired, TypedDict
10
15
 
@@ -16,7 +21,7 @@ class GetSummaryRequestTypedDict(TypedDict):
16
21
 
17
22
  class GetSummaryRequest(BaseModel):
18
23
  mode: Annotated[
19
- Optional[WorkerTypes],
24
+ Annotated[Optional[WorkerTypes], PlainValidator(validate_open_enum(False))],
20
25
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
21
26
  ] = None
22
27
  r"""Filter for limiting the response by Cribl product: Cribl Stream (<code>worker</code>) or Cribl Edge (<code>managed-edge</code>)."""
@@ -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 .gitshowresult import GitShowResult, GitShowResultTypedDict
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
 
@@ -48,17 +49,17 @@ class GetVersionShowRequest(BaseModel):
48
49
 
49
50
 
50
51
  class GetVersionShowResponseTypedDict(TypedDict):
51
- r"""a list of any objects"""
52
+ r"""a list of GitShowResult objects"""
52
53
 
53
54
  count: NotRequired[int]
54
55
  r"""number of items present in the items array"""
55
- items: NotRequired[List[Dict[str, Any]]]
56
+ items: NotRequired[List[GitShowResultTypedDict]]
56
57
 
57
58
 
58
59
  class GetVersionShowResponse(BaseModel):
59
- r"""a list of any objects"""
60
+ r"""a list of GitShowResult objects"""
60
61
 
61
62
  count: Optional[int] = None
62
63
  r"""number of items present in the items array"""
63
64
 
64
- items: Optional[List[Dict[str, Any]]] = None
65
+ items: Optional[List[GitShowResult]] = None
@@ -1,15 +1,26 @@
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 cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
7
+ from enum import Enum
8
+ from pydantic.functional_validators import PlainValidator
5
9
  from typing import Union
6
- from typing_extensions import TypeAliasType, TypedDict
10
+ from typing_extensions import Annotated, TypeAliasType, TypedDict
7
11
 
8
12
 
9
- RemoteTypedDict = TypeAliasType("RemoteTypedDict", Union[str, bool])
13
+ class RemoteEnum(str, Enum, metaclass=utils.OpenEnumMeta):
14
+ FALSE = "false"
10
15
 
11
16
 
12
- Remote = TypeAliasType("Remote", Union[str, bool])
17
+ RemoteTypedDict = TypeAliasType("RemoteTypedDict", Union[str, RemoteEnum])
18
+
19
+
20
+ Remote = TypeAliasType(
21
+ "Remote",
22
+ Union[str, Annotated[RemoteEnum, PlainValidator(validate_open_enum(False))]],
23
+ )
13
24
 
14
25
 
15
26
  class GitInfoTypedDict(TypedDict):
@@ -0,0 +1,19 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .difffiles import DiffFiles, DiffFilesTypedDict
5
+ from cribl_control_plane.types import BaseModel
6
+ import pydantic
7
+ from typing import List
8
+ from typing_extensions import Annotated, TypedDict
9
+
10
+
11
+ class GitShowResultTypedDict(TypedDict):
12
+ commit_message: str
13
+ diff_json: List[DiffFilesTypedDict]
14
+
15
+
16
+ class GitShowResult(BaseModel):
17
+ commit_message: Annotated[str, pydantic.Field(alias="commitMessage")]
18
+
19
+ diff_json: Annotated[List[DiffFiles], pydantic.Field(alias="diffJson")]
@@ -1,11 +1,14 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .appmode import AppMode
5
4
  from .hbleaderinfo import HBLeaderInfo, HBLeaderInfoTypedDict
6
5
  from .lookupversions import LookupVersions, LookupVersionsTypedDict
6
+ from cribl_control_plane import utils
7
7
  from cribl_control_plane.types import BaseModel
8
+ from cribl_control_plane.utils import validate_open_enum
9
+ from enum import Enum
8
10
  import pydantic
11
+ from pydantic.functional_validators import PlainValidator
9
12
  from typing import List, Optional
10
13
  from typing_extensions import Annotated, NotRequired, TypedDict
11
14
 
@@ -34,9 +37,19 @@ class Config(BaseModel):
34
37
  version: Optional[str] = None
35
38
 
36
39
 
40
+ class DistMode(str, Enum, metaclass=utils.OpenEnumMeta):
41
+ EDGE = "edge"
42
+ WORKER = "worker"
43
+ SINGLE = "single"
44
+ MASTER = "master"
45
+ MANAGED_EDGE = "managed-edge"
46
+ OUTPOST = "outpost"
47
+ SEARCH_SUPERVISOR = "search-supervisor"
48
+
49
+
37
50
  class HBCriblInfoTypedDict(TypedDict):
38
51
  config: ConfigTypedDict
39
- dist_mode: AppMode
52
+ dist_mode: DistMode
40
53
  group: str
41
54
  guid: str
42
55
  start_time: float
@@ -48,13 +61,17 @@ class HBCriblInfoTypedDict(TypedDict):
48
61
  lookup_versions: NotRequired[LookupVersionsTypedDict]
49
62
  master: NotRequired[HBLeaderInfoTypedDict]
50
63
  pid: NotRequired[float]
64
+ socks_enabled: NotRequired[bool]
51
65
  version: NotRequired[str]
52
66
 
53
67
 
54
68
  class HBCriblInfo(BaseModel):
55
69
  config: Config
56
70
 
57
- dist_mode: Annotated[AppMode, pydantic.Field(alias="distMode")]
71
+ dist_mode: Annotated[
72
+ Annotated[DistMode, PlainValidator(validate_open_enum(False))],
73
+ pydantic.Field(alias="distMode"),
74
+ ]
58
75
 
59
76
  group: str
60
77
 
@@ -82,4 +99,8 @@ class HBCriblInfo(BaseModel):
82
99
 
83
100
  pid: Optional[float] = None
84
101
 
102
+ socks_enabled: Annotated[Optional[bool], pydantic.Field(alias="socksEnabled")] = (
103
+ None
104
+ )
105
+
85
106
  version: Optional[str] = None
@@ -1,19 +1,22 @@
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 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.functional_validators import PlainValidator
7
10
  from typing import Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
10
13
 
11
- class Role(str, Enum):
14
+ class Role(str, Enum, metaclass=utils.OpenEnumMeta):
12
15
  PRIMARY = "primary"
13
16
  STANDBY = "standby"
14
17
 
15
18
 
16
- class Status(str, Enum):
19
+ class Status(str, Enum, metaclass=utils.OpenEnumMeta):
17
20
  HEALTHY = "healthy"
18
21
  SHUTTING_DOWN = "shutting down"
19
22
  STANDBY = "standby"
@@ -26,8 +29,8 @@ class HealthStatusTypedDict(TypedDict):
26
29
 
27
30
 
28
31
  class HealthStatus(BaseModel):
29
- status: Status
32
+ status: Annotated[Status, PlainValidator(validate_open_enum(False))]
30
33
 
31
34
  start_time: Annotated[float, pydantic.Field(alias="startTime")]
32
35
 
33
- role: Optional[Role] = None
36
+ role: Annotated[Optional[Role], PlainValidator(validate_open_enum(False))] = None
@@ -17,6 +17,7 @@ class HeartbeatMetadataTags(BaseModel):
17
17
 
18
18
  class HeartbeatMetadataAwsTypedDict(TypedDict):
19
19
  enabled: bool
20
+ instance_id: str
20
21
  region: str
21
22
  type: str
22
23
  zone: str
@@ -26,6 +27,8 @@ class HeartbeatMetadataAwsTypedDict(TypedDict):
26
27
  class HeartbeatMetadataAws(BaseModel):
27
28
  enabled: bool
28
29
 
30
+ instance_id: Annotated[str, pydantic.Field(alias="instanceId")]
31
+
29
32
  region: str
30
33
 
31
34
  type: str