cribl-control-plane 0.0.49__py3-none-any.whl → 0.1.0b1__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 (173) hide show
  1. cribl_control_plane/_version.py +4 -6
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/health.py +6 -2
  4. cribl_control_plane/models/__init__.py +68 -30
  5. cribl_control_plane/models/cacheconnection.py +10 -2
  6. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  7. cribl_control_plane/models/cloudprovider.py +2 -1
  8. cribl_control_plane/models/configgroup.py +7 -2
  9. cribl_control_plane/models/configgroupcloud.py +6 -2
  10. cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
  11. cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
  12. cribl_control_plane/models/createversionpushop.py +5 -5
  13. cribl_control_plane/models/cribllakedataset.py +8 -2
  14. cribl_control_plane/models/datasetmetadata.py +8 -2
  15. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  16. cribl_control_plane/models/error.py +16 -0
  17. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  18. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  19. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  20. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  21. cribl_control_plane/models/gethealthinfoop.py +17 -0
  22. cribl_control_plane/models/getsummaryop.py +7 -2
  23. cribl_control_plane/models/getversionshowop.py +6 -5
  24. cribl_control_plane/models/gitshowresult.py +19 -0
  25. cribl_control_plane/models/hbcriblinfo.py +24 -3
  26. cribl_control_plane/models/healthstatus.py +7 -4
  27. cribl_control_plane/models/heartbeatmetadata.py +3 -0
  28. cribl_control_plane/models/inputappscope.py +34 -14
  29. cribl_control_plane/models/inputazureblob.py +17 -6
  30. cribl_control_plane/models/inputcollection.py +11 -4
  31. cribl_control_plane/models/inputconfluentcloud.py +41 -32
  32. cribl_control_plane/models/inputcribl.py +11 -4
  33. cribl_control_plane/models/inputcriblhttp.py +23 -8
  34. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  35. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  36. cribl_control_plane/models/inputcribltcp.py +23 -8
  37. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  38. cribl_control_plane/models/inputdatadogagent.py +24 -8
  39. cribl_control_plane/models/inputdatagen.py +11 -4
  40. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  41. cribl_control_plane/models/inputelastic.py +40 -14
  42. cribl_control_plane/models/inputeventhub.py +15 -6
  43. cribl_control_plane/models/inputexec.py +14 -6
  44. cribl_control_plane/models/inputfile.py +15 -6
  45. cribl_control_plane/models/inputfirehose.py +23 -8
  46. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  47. cribl_control_plane/models/inputgrafana.py +67 -24
  48. cribl_control_plane/models/inputhttp.py +23 -8
  49. cribl_control_plane/models/inputhttpraw.py +23 -8
  50. cribl_control_plane/models/inputjournalfiles.py +12 -4
  51. cribl_control_plane/models/inputkafka.py +41 -28
  52. cribl_control_plane/models/inputkinesis.py +38 -14
  53. cribl_control_plane/models/inputkubeevents.py +11 -4
  54. cribl_control_plane/models/inputkubelogs.py +16 -8
  55. cribl_control_plane/models/inputkubemetrics.py +16 -8
  56. cribl_control_plane/models/inputloki.py +29 -10
  57. cribl_control_plane/models/inputmetrics.py +23 -8
  58. cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
  59. cribl_control_plane/models/inputmsk.py +48 -30
  60. cribl_control_plane/models/inputnetflow.py +11 -4
  61. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  62. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  63. cribl_control_plane/models/inputoffice365service.py +35 -16
  64. cribl_control_plane/models/inputopentelemetry.py +38 -16
  65. cribl_control_plane/models/inputprometheus.py +50 -18
  66. cribl_control_plane/models/inputprometheusrw.py +30 -10
  67. cribl_control_plane/models/inputrawudp.py +11 -4
  68. cribl_control_plane/models/inputs3.py +21 -8
  69. cribl_control_plane/models/inputs3inventory.py +26 -10
  70. cribl_control_plane/models/inputsecuritylake.py +27 -10
  71. cribl_control_plane/models/inputsnmp.py +16 -6
  72. cribl_control_plane/models/inputsplunk.py +33 -12
  73. cribl_control_plane/models/inputsplunkhec.py +29 -10
  74. cribl_control_plane/models/inputsplunksearch.py +33 -14
  75. cribl_control_plane/models/inputsqs.py +27 -10
  76. cribl_control_plane/models/inputsyslog.py +43 -16
  77. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  78. cribl_control_plane/models/inputsystemstate.py +16 -8
  79. cribl_control_plane/models/inputtcp.py +29 -10
  80. cribl_control_plane/models/inputtcpjson.py +29 -10
  81. cribl_control_plane/models/inputwef.py +37 -14
  82. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  83. cribl_control_plane/models/inputwineventlogs.py +20 -10
  84. cribl_control_plane/models/inputwiz.py +21 -8
  85. cribl_control_plane/models/inputwizwebhook.py +23 -8
  86. cribl_control_plane/models/inputzscalerhec.py +29 -10
  87. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  88. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  89. cribl_control_plane/models/masterworkerentry.py +7 -2
  90. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  91. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  92. cribl_control_plane/models/nodeprovidedinfo.py +3 -0
  93. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  94. cribl_control_plane/models/nodeupgradestate.py +2 -1
  95. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  96. cribl_control_plane/models/output.py +3 -0
  97. cribl_control_plane/models/outputazureblob.py +48 -18
  98. cribl_control_plane/models/outputazuredataexplorer.py +73 -28
  99. cribl_control_plane/models/outputazureeventhub.py +40 -18
  100. cribl_control_plane/models/outputazurelogs.py +35 -12
  101. cribl_control_plane/models/outputclickhouse.py +55 -20
  102. cribl_control_plane/models/outputcloudwatch.py +29 -10
  103. cribl_control_plane/models/outputconfluentcloud.py +71 -44
  104. cribl_control_plane/models/outputcriblhttp.py +44 -16
  105. cribl_control_plane/models/outputcribllake.py +46 -16
  106. cribl_control_plane/models/outputcribltcp.py +45 -18
  107. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
  108. cribl_control_plane/models/outputdatabricks.py +439 -0
  109. cribl_control_plane/models/outputdatadog.py +48 -20
  110. cribl_control_plane/models/outputdataset.py +46 -18
  111. cribl_control_plane/models/outputdiskspool.py +7 -2
  112. cribl_control_plane/models/outputdls3.py +68 -24
  113. cribl_control_plane/models/outputdynatracehttp.py +53 -20
  114. cribl_control_plane/models/outputdynatraceotlp.py +55 -22
  115. cribl_control_plane/models/outputelastic.py +43 -18
  116. cribl_control_plane/models/outputelasticcloud.py +36 -12
  117. cribl_control_plane/models/outputexabeam.py +29 -10
  118. cribl_control_plane/models/outputfilesystem.py +39 -14
  119. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  120. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  121. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  122. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  123. cribl_control_plane/models/outputgrafanacloud.py +97 -32
  124. cribl_control_plane/models/outputgraphite.py +31 -14
  125. cribl_control_plane/models/outputhoneycomb.py +35 -12
  126. cribl_control_plane/models/outputhumiohec.py +43 -16
  127. cribl_control_plane/models/outputinfluxdb.py +42 -16
  128. cribl_control_plane/models/outputkafka.py +69 -40
  129. cribl_control_plane/models/outputkinesis.py +40 -16
  130. cribl_control_plane/models/outputloki.py +41 -16
  131. cribl_control_plane/models/outputminio.py +65 -24
  132. cribl_control_plane/models/outputmsk.py +77 -42
  133. cribl_control_plane/models/outputnewrelic.py +43 -18
  134. cribl_control_plane/models/outputnewrelicevents.py +41 -14
  135. cribl_control_plane/models/outputopentelemetry.py +67 -26
  136. cribl_control_plane/models/outputprometheus.py +35 -12
  137. cribl_control_plane/models/outputring.py +19 -8
  138. cribl_control_plane/models/outputs3.py +68 -26
  139. cribl_control_plane/models/outputsecuritylake.py +52 -18
  140. cribl_control_plane/models/outputsentinel.py +45 -18
  141. cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
  142. cribl_control_plane/models/outputservicenow.py +60 -24
  143. cribl_control_plane/models/outputsignalfx.py +37 -14
  144. cribl_control_plane/models/outputsns.py +36 -14
  145. cribl_control_plane/models/outputsplunk.py +60 -24
  146. cribl_control_plane/models/outputsplunkhec.py +35 -12
  147. cribl_control_plane/models/outputsplunklb.py +77 -30
  148. cribl_control_plane/models/outputsqs.py +41 -16
  149. cribl_control_plane/models/outputstatsd.py +30 -14
  150. cribl_control_plane/models/outputstatsdext.py +29 -12
  151. cribl_control_plane/models/outputsumologic.py +35 -12
  152. cribl_control_plane/models/outputsyslog.py +58 -24
  153. cribl_control_plane/models/outputtcpjson.py +52 -20
  154. cribl_control_plane/models/outputwavefront.py +35 -12
  155. cribl_control_plane/models/outputwebhook.py +58 -22
  156. cribl_control_plane/models/outputxsiam.py +35 -14
  157. cribl_control_plane/models/productscore.py +2 -1
  158. cribl_control_plane/models/rbacresource.py +2 -1
  159. cribl_control_plane/models/resourcepolicy.py +4 -2
  160. cribl_control_plane/models/routeconf.py +3 -4
  161. cribl_control_plane/models/runnablejobcollection.py +30 -13
  162. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  163. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  164. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  165. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  166. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
  167. cribl_control_plane/models/workertypes.py +2 -1
  168. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.dist-info}/METADATA +1 -1
  169. cribl_control_plane-0.1.0b1.dist-info/RECORD +327 -0
  170. cribl_control_plane/models/appmode.py +0 -13
  171. cribl_control_plane/models/routecloneconf.py +0 -13
  172. cribl_control_plane-0.0.49.dist-info/RECORD +0 -325
  173. {cribl_control_plane-0.0.49.dist-info → cribl_control_plane-0.1.0b1.dist-info}/WHEEL +0 -0
@@ -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
@@ -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
@@ -1,9 +1,12 @@
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 Any, List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputAppscopeConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputAppscopeMode(str, Enum):
29
+ class InputAppscopeMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputAppscopeCompression(str, Enum):
36
+ class InputAppscopeCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputAppscopePqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputAppscopePq(BaseModel):
67
- mode: Optional[InputAppscopeMode] = InputAppscopeMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputAppscopeMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputAppscopeMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputAppscopePq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputAppscopeCompression] = InputAppscopeCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputAppscopeCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputAppscopeCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -144,7 +151,7 @@ class InputAppscopeFilter(BaseModel):
144
151
  r"""To override the UNIX domain socket or address/port specified in General Settings (while leaving Authentication settings as is), enter a URL."""
145
152
 
146
153
 
147
- class InputAppscopeDataCompressionFormat(str, Enum):
154
+ class InputAppscopeDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
148
155
  NONE = "none"
149
156
  GZIP = "gzip"
150
157
 
@@ -176,9 +183,10 @@ class InputAppscopePersistence(BaseModel):
176
183
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
177
184
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
178
185
 
179
- compress: Optional[InputAppscopeDataCompressionFormat] = (
180
- InputAppscopeDataCompressionFormat.GZIP
181
- )
186
+ compress: Annotated[
187
+ Optional[InputAppscopeDataCompressionFormat],
188
+ PlainValidator(validate_open_enum(False)),
189
+ ] = InputAppscopeDataCompressionFormat.GZIP
182
190
 
183
191
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
184
192
  "$CRIBL_HOME/state/appscope"
@@ -186,21 +194,21 @@ class InputAppscopePersistence(BaseModel):
186
194
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/appscope"""
187
195
 
188
196
 
189
- class InputAppscopeAuthenticationMethod(str, Enum):
197
+ class InputAppscopeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
190
198
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
191
199
 
192
200
  MANUAL = "manual"
193
201
  SECRET = "secret"
194
202
 
195
203
 
196
- class InputAppscopeMinimumTLSVersion(str, Enum):
204
+ class InputAppscopeMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
197
205
  TL_SV1 = "TLSv1"
198
206
  TL_SV1_1 = "TLSv1.1"
199
207
  TL_SV1_2 = "TLSv1.2"
200
208
  TL_SV1_3 = "TLSv1.3"
201
209
 
202
210
 
203
- class InputAppscopeMaximumTLSVersion(str, Enum):
211
+ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
204
212
  TL_SV1 = "TLSv1"
205
213
  TL_SV1_1 = "TLSv1.1"
206
214
  TL_SV1_2 = "TLSv1.2"
@@ -259,11 +267,19 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
259
267
  ] = None
260
268
 
261
269
  min_version: Annotated[
262
- Optional[InputAppscopeMinimumTLSVersion], pydantic.Field(alias="minVersion")
270
+ Annotated[
271
+ Optional[InputAppscopeMinimumTLSVersion],
272
+ PlainValidator(validate_open_enum(False)),
273
+ ],
274
+ pydantic.Field(alias="minVersion"),
263
275
  ] = None
264
276
 
265
277
  max_version: Annotated[
266
- Optional[InputAppscopeMaximumTLSVersion], pydantic.Field(alias="maxVersion")
278
+ Annotated[
279
+ Optional[InputAppscopeMaximumTLSVersion],
280
+ PlainValidator(validate_open_enum(False)),
281
+ ],
282
+ pydantic.Field(alias="maxVersion"),
267
283
  ] = None
268
284
 
269
285
 
@@ -410,7 +426,11 @@ class InputAppscope(BaseModel):
410
426
  persistence: Optional[InputAppscopePersistence] = None
411
427
 
412
428
  auth_type: Annotated[
413
- Optional[InputAppscopeAuthenticationMethod], pydantic.Field(alias="authType")
429
+ Annotated[
430
+ Optional[InputAppscopeAuthenticationMethod],
431
+ PlainValidator(validate_open_enum(False)),
432
+ ],
433
+ pydantic.Field(alias="authType"),
414
434
  ] = InputAppscopeAuthenticationMethod.MANUAL
415
435
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
416
436
 
@@ -1,9 +1,12 @@
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 List, Optional
8
11
  from typing_extensions import Annotated, NotRequired, TypedDict
9
12
 
@@ -23,14 +26,14 @@ class InputAzureBlobConnection(BaseModel):
23
26
  pipeline: Optional[str] = None
24
27
 
25
28
 
26
- class InputAzureBlobMode(str, Enum):
29
+ class InputAzureBlobMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
30
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
31
 
29
32
  SMART = "smart"
30
33
  ALWAYS = "always"
31
34
 
32
35
 
33
- class InputAzureBlobCompression(str, Enum):
36
+ class InputAzureBlobCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
37
  r"""Codec to use to compress the persisted data"""
35
38
 
36
39
  NONE = "none"
@@ -64,7 +67,9 @@ class InputAzureBlobPqTypedDict(TypedDict):
64
67
 
65
68
 
66
69
  class InputAzureBlobPq(BaseModel):
67
- mode: Optional[InputAzureBlobMode] = InputAzureBlobMode.ALWAYS
70
+ mode: Annotated[
71
+ Optional[InputAzureBlobMode], PlainValidator(validate_open_enum(False))
72
+ ] = InputAzureBlobMode.ALWAYS
68
73
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
69
74
 
70
75
  max_buffer_size: Annotated[
@@ -88,7 +93,9 @@ class InputAzureBlobPq(BaseModel):
88
93
  path: Optional[str] = "$CRIBL_HOME/state/queues"
89
94
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
90
95
 
91
- compress: Optional[InputAzureBlobCompression] = InputAzureBlobCompression.NONE
96
+ compress: Annotated[
97
+ Optional[InputAzureBlobCompression], PlainValidator(validate_open_enum(False))
98
+ ] = InputAzureBlobCompression.NONE
92
99
  r"""Codec to use to compress the persisted data"""
93
100
 
94
101
  pq_controls: Annotated[
@@ -109,7 +116,7 @@ class InputAzureBlobMetadatum(BaseModel):
109
116
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
110
117
 
111
118
 
112
- class InputAzureBlobAuthenticationMethod(str, Enum):
119
+ class InputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
113
120
  MANUAL = "manual"
114
121
  SECRET = "secret"
115
122
  CLIENT_SECRET = "clientSecret"
@@ -270,7 +277,11 @@ class InputAzureBlob(BaseModel):
270
277
  r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified."""
271
278
 
272
279
  auth_type: Annotated[
273
- Optional[InputAzureBlobAuthenticationMethod], pydantic.Field(alias="authType")
280
+ Annotated[
281
+ Optional[InputAzureBlobAuthenticationMethod],
282
+ PlainValidator(validate_open_enum(False)),
283
+ ],
284
+ pydantic.Field(alias="authType"),
274
285
  ] = InputAzureBlobAuthenticationMethod.MANUAL
275
286
 
276
287
  description: Optional[str] = None