cribl-control-plane 0.0.44__py3-none-any.whl → 0.0.44a2__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 (158) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/errors/healthstatus_error.py +8 -2
  3. cribl_control_plane/models/__init__.py +3 -3
  4. cribl_control_plane/models/appmode.py +2 -1
  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/cribllakedataset.py +8 -2
  12. cribl_control_plane/models/datasetmetadata.py +8 -2
  13. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
  14. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
  15. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
  16. cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
  17. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
  18. cribl_control_plane/models/getsummaryop.py +7 -2
  19. cribl_control_plane/models/hbcriblinfo.py +6 -1
  20. cribl_control_plane/models/healthstatus.py +7 -4
  21. cribl_control_plane/models/inputappscope.py +34 -14
  22. cribl_control_plane/models/inputazureblob.py +17 -6
  23. cribl_control_plane/models/inputcollection.py +11 -4
  24. cribl_control_plane/models/inputconfluentcloud.py +47 -20
  25. cribl_control_plane/models/inputcribl.py +11 -4
  26. cribl_control_plane/models/inputcriblhttp.py +23 -8
  27. cribl_control_plane/models/inputcribllakehttp.py +22 -10
  28. cribl_control_plane/models/inputcriblmetrics.py +12 -4
  29. cribl_control_plane/models/inputcribltcp.py +23 -8
  30. cribl_control_plane/models/inputcrowdstrike.py +26 -10
  31. cribl_control_plane/models/inputdatadogagent.py +24 -8
  32. cribl_control_plane/models/inputdatagen.py +11 -4
  33. cribl_control_plane/models/inputedgeprometheus.py +58 -24
  34. cribl_control_plane/models/inputelastic.py +40 -14
  35. cribl_control_plane/models/inputeventhub.py +15 -6
  36. cribl_control_plane/models/inputexec.py +14 -6
  37. cribl_control_plane/models/inputfile.py +15 -6
  38. cribl_control_plane/models/inputfirehose.py +23 -8
  39. cribl_control_plane/models/inputgooglepubsub.py +19 -6
  40. cribl_control_plane/models/inputgrafana.py +67 -24
  41. cribl_control_plane/models/inputhttp.py +23 -8
  42. cribl_control_plane/models/inputhttpraw.py +23 -8
  43. cribl_control_plane/models/inputjournalfiles.py +12 -4
  44. cribl_control_plane/models/inputkafka.py +46 -16
  45. cribl_control_plane/models/inputkinesis.py +38 -14
  46. cribl_control_plane/models/inputkubeevents.py +11 -4
  47. cribl_control_plane/models/inputkubelogs.py +16 -8
  48. cribl_control_plane/models/inputkubemetrics.py +16 -8
  49. cribl_control_plane/models/inputloki.py +29 -10
  50. cribl_control_plane/models/inputmetrics.py +23 -8
  51. cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
  52. cribl_control_plane/models/inputmsk.py +53 -18
  53. cribl_control_plane/models/inputnetflow.py +11 -4
  54. cribl_control_plane/models/inputoffice365mgmt.py +33 -14
  55. cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
  56. cribl_control_plane/models/inputoffice365service.py +35 -16
  57. cribl_control_plane/models/inputopentelemetry.py +38 -16
  58. cribl_control_plane/models/inputprometheus.py +50 -18
  59. cribl_control_plane/models/inputprometheusrw.py +30 -10
  60. cribl_control_plane/models/inputrawudp.py +11 -4
  61. cribl_control_plane/models/inputs3.py +21 -8
  62. cribl_control_plane/models/inputs3inventory.py +26 -10
  63. cribl_control_plane/models/inputsecuritylake.py +27 -10
  64. cribl_control_plane/models/inputsnmp.py +16 -6
  65. cribl_control_plane/models/inputsplunk.py +33 -12
  66. cribl_control_plane/models/inputsplunkhec.py +29 -10
  67. cribl_control_plane/models/inputsplunksearch.py +33 -14
  68. cribl_control_plane/models/inputsqs.py +27 -10
  69. cribl_control_plane/models/inputsyslog.py +43 -16
  70. cribl_control_plane/models/inputsystemmetrics.py +48 -24
  71. cribl_control_plane/models/inputsystemstate.py +16 -8
  72. cribl_control_plane/models/inputtcp.py +29 -10
  73. cribl_control_plane/models/inputtcpjson.py +29 -10
  74. cribl_control_plane/models/inputwef.py +37 -14
  75. cribl_control_plane/models/inputwindowsmetrics.py +44 -24
  76. cribl_control_plane/models/inputwineventlogs.py +20 -10
  77. cribl_control_plane/models/inputwiz.py +21 -8
  78. cribl_control_plane/models/inputwizwebhook.py +23 -8
  79. cribl_control_plane/models/inputzscalerhec.py +29 -10
  80. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  81. cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
  82. cribl_control_plane/models/masterworkerentry.py +7 -2
  83. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  84. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  85. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  86. cribl_control_plane/models/nodeupgradestate.py +2 -1
  87. cribl_control_plane/models/nodeupgradestatus.py +13 -5
  88. cribl_control_plane/models/outputazureblob.py +48 -18
  89. cribl_control_plane/models/outputazuredataexplorer.py +74 -29
  90. cribl_control_plane/models/outputazureeventhub.py +40 -18
  91. cribl_control_plane/models/outputazurelogs.py +36 -13
  92. cribl_control_plane/models/outputclickhouse.py +56 -21
  93. cribl_control_plane/models/outputcloudwatch.py +29 -10
  94. cribl_control_plane/models/outputconfluentcloud.py +77 -32
  95. cribl_control_plane/models/outputcriblhttp.py +46 -18
  96. cribl_control_plane/models/outputcribllake.py +46 -16
  97. cribl_control_plane/models/outputcribltcp.py +45 -18
  98. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
  99. cribl_control_plane/models/outputdatadog.py +48 -20
  100. cribl_control_plane/models/outputdataset.py +46 -18
  101. cribl_control_plane/models/outputdiskspool.py +7 -2
  102. cribl_control_plane/models/outputdls3.py +68 -24
  103. cribl_control_plane/models/outputdynatracehttp.py +54 -21
  104. cribl_control_plane/models/outputdynatraceotlp.py +56 -23
  105. cribl_control_plane/models/outputelastic.py +44 -19
  106. cribl_control_plane/models/outputelasticcloud.py +37 -13
  107. cribl_control_plane/models/outputexabeam.py +29 -10
  108. cribl_control_plane/models/outputfilesystem.py +39 -14
  109. cribl_control_plane/models/outputgooglechronicle.py +50 -16
  110. cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
  111. cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
  112. cribl_control_plane/models/outputgooglepubsub.py +31 -10
  113. cribl_control_plane/models/outputgrafanacloud.py +99 -34
  114. cribl_control_plane/models/outputgraphite.py +31 -14
  115. cribl_control_plane/models/outputhoneycomb.py +36 -13
  116. cribl_control_plane/models/outputhumiohec.py +44 -17
  117. cribl_control_plane/models/outputinfluxdb.py +43 -17
  118. cribl_control_plane/models/outputkafka.py +74 -28
  119. cribl_control_plane/models/outputkinesis.py +40 -16
  120. cribl_control_plane/models/outputloki.py +41 -16
  121. cribl_control_plane/models/outputminio.py +65 -24
  122. cribl_control_plane/models/outputmsk.py +82 -30
  123. cribl_control_plane/models/outputnewrelic.py +43 -18
  124. cribl_control_plane/models/outputnewrelicevents.py +42 -15
  125. cribl_control_plane/models/outputopentelemetry.py +68 -27
  126. cribl_control_plane/models/outputprometheus.py +36 -13
  127. cribl_control_plane/models/outputring.py +19 -8
  128. cribl_control_plane/models/outputs3.py +68 -26
  129. cribl_control_plane/models/outputsecuritylake.py +52 -18
  130. cribl_control_plane/models/outputsentinel.py +45 -18
  131. cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
  132. cribl_control_plane/models/outputservicenow.py +61 -25
  133. cribl_control_plane/models/outputsignalfx.py +38 -15
  134. cribl_control_plane/models/outputsns.py +36 -14
  135. cribl_control_plane/models/outputsplunk.py +60 -24
  136. cribl_control_plane/models/outputsplunkhec.py +36 -13
  137. cribl_control_plane/models/outputsplunklb.py +77 -30
  138. cribl_control_plane/models/outputsqs.py +41 -16
  139. cribl_control_plane/models/outputstatsd.py +30 -14
  140. cribl_control_plane/models/outputstatsdext.py +29 -12
  141. cribl_control_plane/models/outputsumologic.py +35 -12
  142. cribl_control_plane/models/outputsyslog.py +58 -24
  143. cribl_control_plane/models/outputtcpjson.py +52 -20
  144. cribl_control_plane/models/outputwavefront.py +36 -13
  145. cribl_control_plane/models/outputwebhook.py +58 -22
  146. cribl_control_plane/models/outputxsiam.py +36 -15
  147. cribl_control_plane/models/productscore.py +2 -1
  148. cribl_control_plane/models/rbacresource.py +2 -1
  149. cribl_control_plane/models/resourcepolicy.py +4 -2
  150. cribl_control_plane/models/runnablejobcollection.py +30 -13
  151. cribl_control_plane/models/runnablejobexecutor.py +13 -4
  152. cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
  153. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
  154. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
  155. cribl_control_plane/models/workertypes.py +2 -1
  156. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
  157. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/RECORD +158 -158
  158. {cribl_control_plane-0.0.44.dist-info → cribl_control_plane-0.0.44a2.dist-info}/WHEEL +0 -0
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "cribl-control-plane"
6
- __version__: str = "0.0.44"
7
- __openapi_doc_version__: str = "4.14.0-alpha.1757401089572-3ca67bed"
6
+ __version__: str = "0.0.44a2"
7
+ __openapi_doc_version__: str = "4.14.0-alpha.1757595696230-1a9eb130"
8
8
  __gen_version__: str = "2.696.0"
9
- __user_agent__: str = "speakeasy-sdk/python 0.0.44 2.696.0 4.14.0-alpha.1757401089572-3ca67bed cribl-control-plane"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.0.44a2 2.696.0 4.14.0-alpha.1757595696230-1a9eb130 cribl-control-plane"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -4,18 +4,24 @@ from __future__ import annotations
4
4
  from cribl_control_plane.errors import CriblControlPlaneError
5
5
  from cribl_control_plane.models import healthstatus as models_healthstatus
6
6
  from cribl_control_plane.types import BaseModel
7
+ from cribl_control_plane.utils import validate_open_enum
7
8
  import httpx
8
9
  import pydantic
10
+ from pydantic.functional_validators import PlainValidator
9
11
  from typing import Optional
10
12
  from typing_extensions import Annotated
11
13
 
12
14
 
13
15
  class HealthStatusErrorData(BaseModel):
14
- status: models_healthstatus.Status
16
+ status: Annotated[
17
+ models_healthstatus.Status, PlainValidator(validate_open_enum(False))
18
+ ]
15
19
 
16
20
  start_time: Annotated[float, pydantic.Field(alias="startTime")]
17
21
 
18
- role: Optional[models_healthstatus.Role] = None
22
+ role: Annotated[
23
+ Optional[models_healthstatus.Role], PlainValidator(validate_open_enum(False))
24
+ ] = None
19
25
 
20
26
 
21
27
  class HealthStatusError(CriblControlPlaneError):
@@ -3144,6 +3144,7 @@ if TYPE_CHECKING:
3144
3144
  CollectorSpecificSettings,
3145
3145
  CollectorSpecificSettingsTypedDict,
3146
3146
  CollectorTypedDict,
3147
+ InputType,
3147
3148
  RunnableJobCollection,
3148
3149
  RunnableJobCollectionInput,
3149
3150
  RunnableJobCollectionInputTypedDict,
@@ -3166,7 +3167,6 @@ if TYPE_CHECKING:
3166
3167
  RunnableJobCollectionScheduleTypedDict,
3167
3168
  RunnableJobCollectionTimeWarning,
3168
3169
  RunnableJobCollectionTimeWarningTypedDict,
3169
- RunnableJobCollectionType,
3170
3170
  RunnableJobCollectionTypedDict,
3171
3171
  TimeRange,
3172
3172
  WhereToCapture,
@@ -4686,6 +4686,7 @@ __all__ = [
4686
4686
  "InputTcpjsonTLSSettingsServerSideTypedDict",
4687
4687
  "InputTcpjsonType",
4688
4688
  "InputTcpjsonTypedDict",
4689
+ "InputType",
4689
4690
  "InputTypedDict",
4690
4691
  "InputWef",
4691
4692
  "InputWefAuthenticationMethod",
@@ -6086,7 +6087,6 @@ __all__ = [
6086
6087
  "RunnableJobCollectionScheduleTypedDict",
6087
6088
  "RunnableJobCollectionTimeWarning",
6088
6089
  "RunnableJobCollectionTimeWarningTypedDict",
6089
- "RunnableJobCollectionType",
6090
6090
  "RunnableJobCollectionTypedDict",
6091
6091
  "RunnableJobExecutor",
6092
6092
  "RunnableJobExecutorJobType",
@@ -9020,6 +9020,7 @@ _dynamic_imports: dict[str, str] = {
9020
9020
  "CollectorSpecificSettings": ".runnablejobcollection",
9021
9021
  "CollectorSpecificSettingsTypedDict": ".runnablejobcollection",
9022
9022
  "CollectorTypedDict": ".runnablejobcollection",
9023
+ "InputType": ".runnablejobcollection",
9023
9024
  "RunnableJobCollection": ".runnablejobcollection",
9024
9025
  "RunnableJobCollectionInput": ".runnablejobcollection",
9025
9026
  "RunnableJobCollectionInputTypedDict": ".runnablejobcollection",
@@ -9042,7 +9043,6 @@ _dynamic_imports: dict[str, str] = {
9042
9043
  "RunnableJobCollectionScheduleTypedDict": ".runnablejobcollection",
9043
9044
  "RunnableJobCollectionTimeWarning": ".runnablejobcollection",
9044
9045
  "RunnableJobCollectionTimeWarningTypedDict": ".runnablejobcollection",
9045
- "RunnableJobCollectionType": ".runnablejobcollection",
9046
9046
  "RunnableJobCollectionTypedDict": ".runnablejobcollection",
9047
9047
  "TimeRange": ".runnablejobcollection",
9048
9048
  "WhereToCapture": ".runnablejobcollection",
@@ -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 AppMode(str, Enum):
8
+ class AppMode(str, Enum, metaclass=utils.OpenEnumMeta):
8
9
  SINGLE = "single"
9
10
  MASTER = "master"
10
11
  WORKER = "worker"
@@ -4,7 +4,9 @@ from __future__ import annotations
4
4
  from .cacheconnectionbackfillstatus import CacheConnectionBackfillStatus
5
5
  from .lakehouseconnectiontype import LakehouseConnectionType
6
6
  from cribl_control_plane.types import BaseModel
7
+ from cribl_control_plane.utils import validate_open_enum
7
8
  import pydantic
9
+ from pydantic.functional_validators import PlainValidator
8
10
  from typing import List, Optional
9
11
  from typing_extensions import Annotated, NotRequired, TypedDict
10
12
 
@@ -31,11 +33,17 @@ class CacheConnection(BaseModel):
31
33
  ] = None
32
34
 
33
35
  backfill_status: Annotated[
34
- Optional[CacheConnectionBackfillStatus], pydantic.Field(alias="backfillStatus")
36
+ Annotated[
37
+ Optional[CacheConnectionBackfillStatus],
38
+ PlainValidator(validate_open_enum(False)),
39
+ ],
40
+ pydantic.Field(alias="backfillStatus"),
35
41
  ] = None
36
42
 
37
43
  lakehouse_connection_type: Annotated[
38
- Optional[LakehouseConnectionType],
44
+ Annotated[
45
+ Optional[LakehouseConnectionType], PlainValidator(validate_open_enum(False))
46
+ ],
39
47
  pydantic.Field(alias="lakehouseConnectionType"),
40
48
  ] = None
41
49
 
@@ -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,9 +4,12 @@ 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 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.functional_validators import PlainValidator
10
13
  from typing import List, Optional
11
14
  from typing_extensions import Annotated, NotRequired, TypedDict
12
15
 
@@ -27,7 +30,7 @@ class Git(BaseModel):
27
30
  log: Optional[List[Commit]] = None
28
31
 
29
32
 
30
- class ConfigGroupType(str, Enum):
33
+ class ConfigGroupType(str, Enum, metaclass=utils.OpenEnumMeta):
31
34
  LAKE_ACCESS = "lake_access"
32
35
 
33
36
 
@@ -105,7 +108,9 @@ class ConfigGroup(BaseModel):
105
108
 
106
109
  tags: Optional[str] = None
107
110
 
108
- type: Optional[ConfigGroupType] = None
111
+ type: Annotated[
112
+ Optional[ConfigGroupType], PlainValidator(validate_open_enum(False))
113
+ ] = None
109
114
 
110
115
  upgrade_version: Annotated[
111
116
  Optional[str], pydantic.Field(alias="upgradeVersion")
@@ -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."""
@@ -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."""
@@ -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."""
@@ -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>)."""
@@ -5,7 +5,9 @@ from .appmode import AppMode
5
5
  from .hbleaderinfo import HBLeaderInfo, HBLeaderInfoTypedDict
6
6
  from .lookupversions import LookupVersions, LookupVersionsTypedDict
7
7
  from cribl_control_plane.types import BaseModel
8
+ from cribl_control_plane.utils import validate_open_enum
8
9
  import pydantic
10
+ from pydantic.functional_validators import PlainValidator
9
11
  from typing import List, Optional
10
12
  from typing_extensions import Annotated, NotRequired, TypedDict
11
13
 
@@ -53,7 +55,10 @@ class HBCriblInfoTypedDict(TypedDict):
53
55
  class HBCriblInfo(BaseModel):
54
56
  config: Config
55
57
 
56
- dist_mode: Annotated[AppMode, pydantic.Field(alias="distMode")]
58
+ dist_mode: Annotated[
59
+ Annotated[AppMode, PlainValidator(validate_open_enum(False))],
60
+ pydantic.Field(alias="distMode"),
61
+ ]
57
62
 
58
63
  group: str
59
64
 
@@ -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
@@ -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