cribl-control-plane 0.0.38__py3-none-any.whl → 0.4.0a6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_hooks/clientcredentials.py +92 -42
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +5 -3
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +11 -1
- cribl_control_plane/commits.py +7 -5
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/destinations_pq.py +2 -2
- cribl_control_plane/errors/__init__.py +23 -8
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +64 -38
- cribl_control_plane/health.py +22 -12
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +40 -12
- cribl_control_plane/models/__init__.py +1180 -54
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +66 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/createconfiggroupbyproductop.py +27 -9
- cribl_control_plane/models/createinputhectokenbyidop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionpushop.py +5 -5
- cribl_control_plane/models/createversionrevertop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +22 -2
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +5 -5
- cribl_control_plane/models/deletepipelinebyidop.py +2 -2
- cribl_control_plane/models/difffiles.py +171 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -2
- cribl_control_plane/models/getoutputpqbyidop.py +6 -5
- cribl_control_plane/models/getpipelinebyidop.py +2 -2
- cribl_control_plane/models/getroutesbyidop.py +2 -2
- cribl_control_plane/models/getsummaryop.py +18 -2
- cribl_control_plane/models/getversionbranchop.py +6 -5
- cribl_control_plane/models/getversioncountop.py +6 -5
- cribl_control_plane/models/getversiondiffop.py +6 -5
- cribl_control_plane/models/getversionshowop.py +6 -5
- cribl_control_plane/models/gitcountresult.py +13 -0
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/groupcreaterequest.py +171 -0
- cribl_control_plane/models/hbcriblinfo.py +39 -3
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +3 -0
- cribl_control_plane/models/input.py +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +513 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +254 -30
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +122 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +248 -26
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +141 -30
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +68 -6
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +111 -25
- cribl_control_plane/models/inputsplunksearch.py +108 -14
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +121 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +78 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +111 -25
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +14 -1
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +17 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +11 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +199 -32
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +181 -35
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +253 -43
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +669 -0
- cribl_control_plane/models/runnablejobexecutor.py +368 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +286 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -2
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +9 -5
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +6 -5
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +6 -6
- cribl_control_plane/models/updateroutesbyidop.py +2 -2
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/packs.py +202 -7
- cribl_control_plane/pipelines.py +18 -18
- cribl_control_plane/routes_sdk.py +22 -22
- cribl_control_plane/sdk.py +19 -6
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/tokens.py +23 -15
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/METADATA +69 -23
- cribl_control_plane-0.4.0a6.dist-info/RECORD +336 -0
- {cribl_control_plane-0.0.38.dist-info → cribl_control_plane-0.4.0a6.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0a6.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.38.dist-info/RECORD +0 -315
|
@@ -1,9 +1,13 @@
|
|
|
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 models, 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 import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import Any, List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,20 +27,32 @@ class InputZscalerHecConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputZscalerHecMode(str, Enum):
|
|
30
|
+
class InputZscalerHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
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
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputZscalerHecCompression(str, Enum):
|
|
39
|
+
class InputZscalerHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputZscalerHecPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputZscalerHecPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputZscalerHecPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputZscalerHecMode]
|
|
42
58
|
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."""
|
|
@@ -52,10 +68,13 @@ class InputZscalerHecPqTypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputZscalerHecCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputZscalerHecPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputZscalerHecPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputZscalerHecMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputZscalerHecMode.ALWAYS
|
|
59
78
|
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."""
|
|
60
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,11 +98,35 @@ class InputZscalerHecPq(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputZscalerHecCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputZscalerHecCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputZscalerHecPqControls], pydantic.Field(alias="pqControls")
|
|
108
|
+
] = None
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputZscalerHecMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputZscalerHecCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputZscalerHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
88
131
|
|
|
89
132
|
MANUAL = "manual"
|
|
@@ -120,7 +163,11 @@ class InputZscalerHecAuthToken(BaseModel):
|
|
|
120
163
|
token: Any
|
|
121
164
|
|
|
122
165
|
auth_type: Annotated[
|
|
123
|
-
|
|
166
|
+
Annotated[
|
|
167
|
+
Optional[InputZscalerHecAuthenticationMethod],
|
|
168
|
+
PlainValidator(validate_open_enum(False)),
|
|
169
|
+
],
|
|
170
|
+
pydantic.Field(alias="authType"),
|
|
124
171
|
] = InputZscalerHecAuthenticationMethod.MANUAL
|
|
125
172
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
126
173
|
|
|
@@ -138,15 +185,24 @@ class InputZscalerHecAuthToken(BaseModel):
|
|
|
138
185
|
metadata: Optional[List[InputZscalerHecAuthTokenMetadatum]] = None
|
|
139
186
|
r"""Fields to add to events referencing this token"""
|
|
140
187
|
|
|
188
|
+
@field_serializer("auth_type")
|
|
189
|
+
def serialize_auth_type(self, value):
|
|
190
|
+
if isinstance(value, str):
|
|
191
|
+
try:
|
|
192
|
+
return models.InputZscalerHecAuthenticationMethod(value)
|
|
193
|
+
except ValueError:
|
|
194
|
+
return value
|
|
195
|
+
return value
|
|
196
|
+
|
|
141
197
|
|
|
142
|
-
class InputZscalerHecMinimumTLSVersion(str, Enum):
|
|
198
|
+
class InputZscalerHecMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
199
|
TL_SV1 = "TLSv1"
|
|
144
200
|
TL_SV1_1 = "TLSv1.1"
|
|
145
201
|
TL_SV1_2 = "TLSv1.2"
|
|
146
202
|
TL_SV1_3 = "TLSv1.3"
|
|
147
203
|
|
|
148
204
|
|
|
149
|
-
class InputZscalerHecMaximumTLSVersion(str, Enum):
|
|
205
|
+
class InputZscalerHecMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
150
206
|
TL_SV1 = "TLSv1"
|
|
151
207
|
TL_SV1_1 = "TLSv1.1"
|
|
152
208
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -155,6 +211,12 @@ class InputZscalerHecMaximumTLSVersion(str, Enum):
|
|
|
155
211
|
|
|
156
212
|
class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
157
213
|
disabled: NotRequired[bool]
|
|
214
|
+
request_cert: NotRequired[bool]
|
|
215
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
216
|
+
reject_unauthorized: NotRequired[bool]
|
|
217
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
218
|
+
common_name_regex: NotRequired[str]
|
|
219
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
158
220
|
certificate_name: NotRequired[str]
|
|
159
221
|
r"""The name of the predefined certificate"""
|
|
160
222
|
priv_key_path: NotRequired[str]
|
|
@@ -165,10 +227,6 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
165
227
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
166
228
|
ca_path: NotRequired[str]
|
|
167
229
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
168
|
-
request_cert: NotRequired[bool]
|
|
169
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
-
reject_unauthorized: NotRequired[Any]
|
|
171
|
-
common_name_regex: NotRequired[Any]
|
|
172
230
|
min_version: NotRequired[InputZscalerHecMinimumTLSVersion]
|
|
173
231
|
max_version: NotRequired[InputZscalerHecMaximumTLSVersion]
|
|
174
232
|
|
|
@@ -176,6 +234,19 @@ class InputZscalerHecTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
176
234
|
class InputZscalerHecTLSSettingsServerSide(BaseModel):
|
|
177
235
|
disabled: Optional[bool] = True
|
|
178
236
|
|
|
237
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
238
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
239
|
+
|
|
240
|
+
reject_unauthorized: Annotated[
|
|
241
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
242
|
+
] = True
|
|
243
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
244
|
+
|
|
245
|
+
common_name_regex: Annotated[
|
|
246
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
247
|
+
] = "/.*/"
|
|
248
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
249
|
+
|
|
179
250
|
certificate_name: Annotated[
|
|
180
251
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
181
252
|
] = None
|
|
@@ -193,25 +264,40 @@ class InputZscalerHecTLSSettingsServerSide(BaseModel):
|
|
|
193
264
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
194
265
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
195
266
|
|
|
196
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
197
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
198
|
-
|
|
199
|
-
reject_unauthorized: Annotated[
|
|
200
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
201
|
-
] = None
|
|
202
|
-
|
|
203
|
-
common_name_regex: Annotated[
|
|
204
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
205
|
-
] = None
|
|
206
|
-
|
|
207
267
|
min_version: Annotated[
|
|
208
|
-
|
|
268
|
+
Annotated[
|
|
269
|
+
Optional[InputZscalerHecMinimumTLSVersion],
|
|
270
|
+
PlainValidator(validate_open_enum(False)),
|
|
271
|
+
],
|
|
272
|
+
pydantic.Field(alias="minVersion"),
|
|
209
273
|
] = None
|
|
210
274
|
|
|
211
275
|
max_version: Annotated[
|
|
212
|
-
|
|
276
|
+
Annotated[
|
|
277
|
+
Optional[InputZscalerHecMaximumTLSVersion],
|
|
278
|
+
PlainValidator(validate_open_enum(False)),
|
|
279
|
+
],
|
|
280
|
+
pydantic.Field(alias="maxVersion"),
|
|
213
281
|
] = None
|
|
214
282
|
|
|
283
|
+
@field_serializer("min_version")
|
|
284
|
+
def serialize_min_version(self, value):
|
|
285
|
+
if isinstance(value, str):
|
|
286
|
+
try:
|
|
287
|
+
return models.InputZscalerHecMinimumTLSVersion(value)
|
|
288
|
+
except ValueError:
|
|
289
|
+
return value
|
|
290
|
+
return value
|
|
291
|
+
|
|
292
|
+
@field_serializer("max_version")
|
|
293
|
+
def serialize_max_version(self, value):
|
|
294
|
+
if isinstance(value, str):
|
|
295
|
+
try:
|
|
296
|
+
return models.InputZscalerHecMaximumTLSVersion(value)
|
|
297
|
+
except ValueError:
|
|
298
|
+
return value
|
|
299
|
+
return value
|
|
300
|
+
|
|
215
301
|
|
|
216
302
|
class InputZscalerHecMetadatumTypedDict(TypedDict):
|
|
217
303
|
name: str
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .jobstatus import JobStatus, JobStatusTypedDict
|
|
5
|
+
from .runnablejob import RunnableJob, RunnableJobTypedDict
|
|
6
|
+
from cribl_control_plane.types import BaseModel
|
|
7
|
+
from typing import Dict, Optional, Union
|
|
8
|
+
from typing_extensions import NotRequired, TypeAliasType, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
StatsTypedDict = TypeAliasType("StatsTypedDict", Union[float, Dict[str, float]])
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Stats = TypeAliasType("Stats", Union[float, Dict[str, float]])
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class JobInfoTypedDict(TypedDict):
|
|
18
|
+
args: RunnableJobTypedDict
|
|
19
|
+
id: str
|
|
20
|
+
stats: Dict[str, StatsTypedDict]
|
|
21
|
+
status: JobStatusTypedDict
|
|
22
|
+
keep: NotRequired[bool]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class JobInfo(BaseModel):
|
|
26
|
+
args: RunnableJob
|
|
27
|
+
|
|
28
|
+
id: str
|
|
29
|
+
|
|
30
|
+
stats: Dict[str, Stats]
|
|
31
|
+
|
|
32
|
+
status: JobStatus
|
|
33
|
+
|
|
34
|
+
keep: Optional[bool] = None
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
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 import field_serializer
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
10
|
+
from typing import Any, Dict, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class State(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
+
r"""State of the Job"""
|
|
16
|
+
|
|
17
|
+
INITIALIZING = 0
|
|
18
|
+
PENDING = 1
|
|
19
|
+
RUNNING = 2
|
|
20
|
+
PAUSED = 3
|
|
21
|
+
CANCELLED = 4
|
|
22
|
+
FINISHED = 5
|
|
23
|
+
FAILED = 6
|
|
24
|
+
ORPHANED = 7
|
|
25
|
+
UNKNOWN = 8
|
|
26
|
+
LENGTH = 9
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class JobStatusTypedDict(TypedDict):
|
|
30
|
+
state: State
|
|
31
|
+
r"""State of the Job"""
|
|
32
|
+
reason: NotRequired[Dict[str, Any]]
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class JobStatus(BaseModel):
|
|
36
|
+
state: Annotated[State, PlainValidator(validate_open_enum(True))]
|
|
37
|
+
r"""State of the Job"""
|
|
38
|
+
|
|
39
|
+
reason: Optional[Dict[str, Any]] = None
|
|
40
|
+
|
|
41
|
+
@field_serializer("state")
|
|
42
|
+
def serialize_state(self, value):
|
|
43
|
+
if isinstance(value, str):
|
|
44
|
+
try:
|
|
45
|
+
return models.State(value)
|
|
46
|
+
except ValueError:
|
|
47
|
+
return value
|
|
48
|
+
return value
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane.types import BaseModel
|
|
5
|
+
import pydantic
|
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class LakeDatasetMetricsTypedDict(TypedDict):
|
|
10
|
+
current_size_bytes: float
|
|
11
|
+
metrics_date: str
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class LakeDatasetMetrics(BaseModel):
|
|
15
|
+
current_size_bytes: Annotated[float, pydantic.Field(alias="currentSizeBytes")]
|
|
16
|
+
|
|
17
|
+
metrics_date: Annotated[str, pydantic.Field(alias="metricsDate")]
|
|
@@ -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 LakehouseConnectionType(str, Enum):
|
|
8
|
+
class LakehouseConnectionType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
CACHE = "cache"
|
|
9
10
|
ZERO_POINT = "zeroPoint"
|
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .configgroup import ConfigGroup, ConfigGroupTypedDict
|
|
5
5
|
from .productscore import ProductsCore
|
|
6
|
+
from cribl_control_plane import models
|
|
6
7
|
from cribl_control_plane.types import BaseModel
|
|
7
8
|
from cribl_control_plane.utils import (
|
|
8
9
|
FieldMetadata,
|
|
9
10
|
PathParamMetadata,
|
|
10
11
|
QueryParamMetadata,
|
|
12
|
+
validate_open_enum,
|
|
11
13
|
)
|
|
14
|
+
from pydantic import field_serializer
|
|
15
|
+
from pydantic.functional_validators import PlainValidator
|
|
12
16
|
from typing import List, Optional
|
|
13
17
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
18
|
|
|
@@ -22,7 +26,7 @@ class ListConfigGroupByProductRequestTypedDict(TypedDict):
|
|
|
22
26
|
|
|
23
27
|
class ListConfigGroupByProductRequest(BaseModel):
|
|
24
28
|
product: Annotated[
|
|
25
|
-
ProductsCore,
|
|
29
|
+
Annotated[ProductsCore, PlainValidator(validate_open_enum(False))],
|
|
26
30
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
27
31
|
]
|
|
28
32
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
@@ -33,6 +37,15 @@ class ListConfigGroupByProductRequest(BaseModel):
|
|
|
33
37
|
] = None
|
|
34
38
|
r"""Comma-separated list of additional properties to include in the response. Available values are <code>git.commit</code>, <code>git.localChanges</code>, and <code>git.log</code>."""
|
|
35
39
|
|
|
40
|
+
@field_serializer("product")
|
|
41
|
+
def serialize_product(self, value):
|
|
42
|
+
if isinstance(value, str):
|
|
43
|
+
try:
|
|
44
|
+
return models.ProductsCore(value)
|
|
45
|
+
except ValueError:
|
|
46
|
+
return value
|
|
47
|
+
return value
|
|
48
|
+
|
|
36
49
|
|
|
37
50
|
class ListConfigGroupByProductResponseTypedDict(TypedDict):
|
|
38
51
|
r"""a list of ConfigGroup objects"""
|
|
@@ -4,9 +4,13 @@ from __future__ import annotations
|
|
|
4
4
|
from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
|
|
5
5
|
from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
|
|
6
6
|
from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
|
|
7
|
+
from cribl_control_plane import models, utils
|
|
7
8
|
from cribl_control_plane.types import BaseModel
|
|
9
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
8
10
|
from enum import Enum
|
|
9
11
|
import pydantic
|
|
12
|
+
from pydantic import field_serializer
|
|
13
|
+
from pydantic.functional_validators import PlainValidator
|
|
10
14
|
from typing import Optional
|
|
11
15
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
16
|
|
|
@@ -19,7 +23,7 @@ class LastMetrics(BaseModel):
|
|
|
19
23
|
pass
|
|
20
24
|
|
|
21
25
|
|
|
22
|
-
class MasterWorkerEntryType(str, Enum):
|
|
26
|
+
class MasterWorkerEntryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
27
|
INFO = "info"
|
|
24
28
|
REQ = "req"
|
|
25
29
|
RESP = "resp"
|
|
@@ -79,6 +83,17 @@ class MasterWorkerEntry(BaseModel):
|
|
|
79
83
|
|
|
80
84
|
status: Optional[str] = None
|
|
81
85
|
|
|
82
|
-
type:
|
|
86
|
+
type: Annotated[
|
|
87
|
+
Optional[MasterWorkerEntryType], PlainValidator(validate_open_enum(False))
|
|
88
|
+
] = None
|
|
83
89
|
|
|
84
90
|
workers: Optional[MasterWorkerEntryWorkers] = None
|
|
91
|
+
|
|
92
|
+
@field_serializer("type")
|
|
93
|
+
def serialize_type(self, value):
|
|
94
|
+
if isinstance(value, str):
|
|
95
|
+
try:
|
|
96
|
+
return models.MasterWorkerEntryType(value)
|
|
97
|
+
except ValueError:
|
|
98
|
+
return value
|
|
99
|
+
return value
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from enum import Enum
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class NodeActiveUpgradeStatus(int, Enum):
|
|
8
|
+
class NodeActiveUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
ZERO = 0
|
|
9
10
|
ONE = 1
|
|
10
11
|
TWO = 2
|
|
@@ -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 NodeFailedUpgradeStatus(int, Enum):
|
|
8
|
+
class NodeFailedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
ZERO = 0
|
|
9
10
|
ONE = 1
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .hbcriblinfo import HBCriblInfo, HBCriblInfoTypedDict
|
|
5
5
|
from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
|
|
6
|
+
from .outpostnodeinfo import OutpostNodeInfo, OutpostNodeInfoTypedDict
|
|
6
7
|
from cribl_control_plane.types import BaseModel
|
|
7
8
|
import pydantic
|
|
8
|
-
from typing import List, Optional, Union
|
|
9
|
+
from typing import Dict, List, Optional, Union
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
10
11
|
|
|
11
12
|
|
|
@@ -19,6 +20,7 @@ class NodeProvidedInfoTags(BaseModel):
|
|
|
19
20
|
|
|
20
21
|
class NodeProvidedInfoAwsTypedDict(TypedDict):
|
|
21
22
|
enabled: bool
|
|
23
|
+
instance_id: str
|
|
22
24
|
region: str
|
|
23
25
|
type: str
|
|
24
26
|
zone: str
|
|
@@ -28,6 +30,8 @@ class NodeProvidedInfoAwsTypedDict(TypedDict):
|
|
|
28
30
|
class NodeProvidedInfoAws(BaseModel):
|
|
29
31
|
enabled: bool
|
|
30
32
|
|
|
33
|
+
instance_id: Annotated[str, pydantic.Field(alias="instanceId")]
|
|
34
|
+
|
|
31
35
|
region: str
|
|
32
36
|
|
|
33
37
|
type: str
|
|
@@ -125,6 +129,7 @@ class NodeProvidedInfoTypedDict(TypedDict):
|
|
|
125
129
|
architecture: str
|
|
126
130
|
cpus: float
|
|
127
131
|
cribl: HBCriblInfoTypedDict
|
|
132
|
+
env: Dict[str, str]
|
|
128
133
|
free_disk_space: float
|
|
129
134
|
hostname: str
|
|
130
135
|
node: str
|
|
@@ -140,6 +145,7 @@ class NodeProvidedInfoTypedDict(TypedDict):
|
|
|
140
145
|
local_time: NotRequired[float]
|
|
141
146
|
metadata: NotRequired[HeartbeatMetadataTypedDict]
|
|
142
147
|
os: NotRequired[OsTypedDict]
|
|
148
|
+
outpost: NotRequired[OutpostNodeInfoTypedDict]
|
|
143
149
|
|
|
144
150
|
|
|
145
151
|
class NodeProvidedInfo(BaseModel):
|
|
@@ -149,6 +155,8 @@ class NodeProvidedInfo(BaseModel):
|
|
|
149
155
|
|
|
150
156
|
cribl: HBCriblInfo
|
|
151
157
|
|
|
158
|
+
env: Dict[str, str]
|
|
159
|
+
|
|
152
160
|
free_disk_space: Annotated[float, pydantic.Field(alias="freeDiskSpace")]
|
|
153
161
|
|
|
154
162
|
hostname: str
|
|
@@ -182,3 +190,5 @@ class NodeProvidedInfo(BaseModel):
|
|
|
182
190
|
metadata: Optional[HeartbeatMetadata] = None
|
|
183
191
|
|
|
184
192
|
os: Optional[Os] = None
|
|
193
|
+
|
|
194
|
+
outpost: Optional[OutpostNodeInfo] = None
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from enum import Enum
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
class NodeSkippedUpgradeStatus(int, Enum):
|
|
8
|
+
class NodeSkippedUpgradeStatus(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
ZERO = 0
|
|
9
10
|
ONE = 1
|
|
10
11
|
TWO = 2
|
|
@@ -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 NodeUpgradeState(int, Enum):
|
|
8
|
+
class NodeUpgradeState(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
8
9
|
ZERO = 0
|
|
9
10
|
ONE = 1
|
|
10
11
|
TWO = 2
|
|
@@ -5,9 +5,13 @@ from .nodeactiveupgradestatus import NodeActiveUpgradeStatus
|
|
|
5
5
|
from .nodefailedupgradestatus import NodeFailedUpgradeStatus
|
|
6
6
|
from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus
|
|
7
7
|
from .nodeupgradestate import NodeUpgradeState
|
|
8
|
+
from cribl_control_plane import models
|
|
8
9
|
from cribl_control_plane.types import BaseModel
|
|
10
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
11
|
+
from pydantic import field_serializer
|
|
12
|
+
from pydantic.functional_validators import PlainValidator
|
|
9
13
|
from typing import Optional
|
|
10
|
-
from typing_extensions import NotRequired, TypedDict
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
11
15
|
|
|
12
16
|
|
|
13
17
|
class NodeUpgradeStatusTypedDict(TypedDict):
|
|
@@ -19,12 +23,54 @@ class NodeUpgradeStatusTypedDict(TypedDict):
|
|
|
19
23
|
|
|
20
24
|
|
|
21
25
|
class NodeUpgradeStatus(BaseModel):
|
|
22
|
-
state: NodeUpgradeState
|
|
26
|
+
state: Annotated[NodeUpgradeState, PlainValidator(validate_open_enum(True))]
|
|
23
27
|
|
|
24
28
|
timestamp: float
|
|
25
29
|
|
|
26
|
-
active:
|
|
30
|
+
active: Annotated[
|
|
31
|
+
Optional[NodeActiveUpgradeStatus], PlainValidator(validate_open_enum(True))
|
|
32
|
+
] = None
|
|
33
|
+
|
|
34
|
+
failed: Annotated[
|
|
35
|
+
Optional[NodeFailedUpgradeStatus], PlainValidator(validate_open_enum(True))
|
|
36
|
+
] = None
|
|
37
|
+
|
|
38
|
+
skipped: Annotated[
|
|
39
|
+
Optional[NodeSkippedUpgradeStatus], PlainValidator(validate_open_enum(True))
|
|
40
|
+
] = None
|
|
41
|
+
|
|
42
|
+
@field_serializer("active")
|
|
43
|
+
def serialize_active(self, value):
|
|
44
|
+
if isinstance(value, str):
|
|
45
|
+
try:
|
|
46
|
+
return models.NodeActiveUpgradeStatus(value)
|
|
47
|
+
except ValueError:
|
|
48
|
+
return value
|
|
49
|
+
return value
|
|
50
|
+
|
|
51
|
+
@field_serializer("failed")
|
|
52
|
+
def serialize_failed(self, value):
|
|
53
|
+
if isinstance(value, str):
|
|
54
|
+
try:
|
|
55
|
+
return models.NodeFailedUpgradeStatus(value)
|
|
56
|
+
except ValueError:
|
|
57
|
+
return value
|
|
58
|
+
return value
|
|
27
59
|
|
|
28
|
-
|
|
60
|
+
@field_serializer("skipped")
|
|
61
|
+
def serialize_skipped(self, value):
|
|
62
|
+
if isinstance(value, str):
|
|
63
|
+
try:
|
|
64
|
+
return models.NodeSkippedUpgradeStatus(value)
|
|
65
|
+
except ValueError:
|
|
66
|
+
return value
|
|
67
|
+
return value
|
|
29
68
|
|
|
30
|
-
|
|
69
|
+
@field_serializer("state")
|
|
70
|
+
def serialize_state(self, value):
|
|
71
|
+
if isinstance(value, str):
|
|
72
|
+
try:
|
|
73
|
+
return models.NodeUpgradeState(value)
|
|
74
|
+
except ValueError:
|
|
75
|
+
return value
|
|
76
|
+
return value
|
|
@@ -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_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class OutpostNodeInfoTypedDict(TypedDict):
|
|
9
|
+
guid: str
|
|
10
|
+
host: str
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class OutpostNodeInfo(BaseModel):
|
|
14
|
+
guid: str
|
|
15
|
+
|
|
16
|
+
host: str
|