cribl-control-plane 0.0.48a1__py3-none-any.whl → 0.0.49__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/_version.py +6 -4
- cribl_control_plane/errors/healthstatus_error.py +2 -8
- cribl_control_plane/models/__init__.py +12 -12
- cribl_control_plane/models/appmode.py +13 -0
- cribl_control_plane/models/cacheconnection.py +2 -10
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +1 -2
- cribl_control_plane/models/cloudprovider.py +1 -2
- cribl_control_plane/models/configgroup.py +2 -7
- cribl_control_plane/models/configgroupcloud.py +2 -6
- cribl_control_plane/models/createconfiggroupbyproductop.py +2 -8
- cribl_control_plane/models/cribllakedataset.py +2 -8
- cribl_control_plane/models/datasetmetadata.py +2 -8
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +2 -7
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +2 -4
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +2 -4
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -3
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +2 -7
- cribl_control_plane/models/getsummaryop.py +2 -7
- cribl_control_plane/models/hbcriblinfo.py +3 -19
- cribl_control_plane/models/healthstatus.py +4 -7
- cribl_control_plane/models/heartbeatmetadata.py +0 -3
- cribl_control_plane/models/inputappscope.py +14 -34
- cribl_control_plane/models/inputazureblob.py +6 -17
- cribl_control_plane/models/inputcollection.py +4 -11
- cribl_control_plane/models/inputconfluentcloud.py +20 -47
- cribl_control_plane/models/inputcribl.py +4 -11
- cribl_control_plane/models/inputcriblhttp.py +8 -23
- cribl_control_plane/models/inputcribllakehttp.py +10 -22
- cribl_control_plane/models/inputcriblmetrics.py +4 -12
- cribl_control_plane/models/inputcribltcp.py +8 -23
- cribl_control_plane/models/inputcrowdstrike.py +10 -26
- cribl_control_plane/models/inputdatadogagent.py +8 -24
- cribl_control_plane/models/inputdatagen.py +4 -11
- cribl_control_plane/models/inputedgeprometheus.py +24 -58
- cribl_control_plane/models/inputelastic.py +14 -40
- cribl_control_plane/models/inputeventhub.py +6 -15
- cribl_control_plane/models/inputexec.py +6 -14
- cribl_control_plane/models/inputfile.py +6 -15
- cribl_control_plane/models/inputfirehose.py +8 -23
- cribl_control_plane/models/inputgooglepubsub.py +6 -19
- cribl_control_plane/models/inputgrafana.py +24 -67
- cribl_control_plane/models/inputhttp.py +8 -23
- cribl_control_plane/models/inputhttpraw.py +8 -23
- cribl_control_plane/models/inputjournalfiles.py +4 -12
- cribl_control_plane/models/inputkafka.py +16 -46
- cribl_control_plane/models/inputkinesis.py +14 -38
- cribl_control_plane/models/inputkubeevents.py +4 -11
- cribl_control_plane/models/inputkubelogs.py +8 -16
- cribl_control_plane/models/inputkubemetrics.py +8 -16
- cribl_control_plane/models/inputloki.py +10 -29
- cribl_control_plane/models/inputmetrics.py +8 -23
- cribl_control_plane/models/inputmodeldriventelemetry.py +10 -32
- cribl_control_plane/models/inputmsk.py +18 -53
- cribl_control_plane/models/inputnetflow.py +4 -11
- cribl_control_plane/models/inputoffice365mgmt.py +14 -33
- cribl_control_plane/models/inputoffice365msgtrace.py +16 -35
- cribl_control_plane/models/inputoffice365service.py +16 -35
- cribl_control_plane/models/inputopentelemetry.py +16 -38
- cribl_control_plane/models/inputprometheus.py +18 -50
- cribl_control_plane/models/inputprometheusrw.py +10 -30
- cribl_control_plane/models/inputrawudp.py +4 -11
- cribl_control_plane/models/inputs3.py +8 -21
- cribl_control_plane/models/inputs3inventory.py +10 -26
- cribl_control_plane/models/inputsecuritylake.py +10 -27
- cribl_control_plane/models/inputsnmp.py +6 -16
- cribl_control_plane/models/inputsplunk.py +12 -33
- cribl_control_plane/models/inputsplunkhec.py +10 -29
- cribl_control_plane/models/inputsplunksearch.py +14 -33
- cribl_control_plane/models/inputsqs.py +10 -27
- cribl_control_plane/models/inputsyslog.py +16 -43
- cribl_control_plane/models/inputsystemmetrics.py +24 -48
- cribl_control_plane/models/inputsystemstate.py +8 -16
- cribl_control_plane/models/inputtcp.py +10 -29
- cribl_control_plane/models/inputtcpjson.py +10 -29
- cribl_control_plane/models/inputwef.py +14 -37
- cribl_control_plane/models/inputwindowsmetrics.py +24 -44
- cribl_control_plane/models/inputwineventlogs.py +10 -20
- cribl_control_plane/models/inputwiz.py +8 -21
- cribl_control_plane/models/inputwizwebhook.py +8 -23
- cribl_control_plane/models/inputzscalerhec.py +10 -29
- cribl_control_plane/models/lakehouseconnectiontype.py +1 -2
- cribl_control_plane/models/listconfiggroupbyproductop.py +1 -3
- cribl_control_plane/models/masterworkerentry.py +2 -7
- cribl_control_plane/models/nodeactiveupgradestatus.py +1 -2
- cribl_control_plane/models/nodefailedupgradestatus.py +1 -2
- cribl_control_plane/models/nodeprovidedinfo.py +0 -3
- cribl_control_plane/models/nodeskippedupgradestatus.py +1 -2
- cribl_control_plane/models/nodeupgradestate.py +1 -2
- cribl_control_plane/models/nodeupgradestatus.py +5 -13
- cribl_control_plane/models/outputazureblob.py +18 -48
- cribl_control_plane/models/outputazuredataexplorer.py +28 -73
- cribl_control_plane/models/outputazureeventhub.py +18 -40
- cribl_control_plane/models/outputazurelogs.py +12 -35
- cribl_control_plane/models/outputclickhouse.py +20 -55
- cribl_control_plane/models/outputcloudwatch.py +10 -29
- cribl_control_plane/models/outputconfluentcloud.py +32 -77
- cribl_control_plane/models/outputcriblhttp.py +16 -44
- cribl_control_plane/models/outputcribllake.py +16 -46
- cribl_control_plane/models/outputcribltcp.py +18 -45
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +14 -49
- cribl_control_plane/models/outputdatadog.py +20 -48
- cribl_control_plane/models/outputdataset.py +18 -46
- cribl_control_plane/models/outputdiskspool.py +2 -7
- cribl_control_plane/models/outputdls3.py +24 -68
- cribl_control_plane/models/outputdynatracehttp.py +20 -53
- cribl_control_plane/models/outputdynatraceotlp.py +22 -55
- cribl_control_plane/models/outputelastic.py +18 -43
- cribl_control_plane/models/outputelasticcloud.py +12 -36
- cribl_control_plane/models/outputexabeam.py +10 -29
- cribl_control_plane/models/outputfilesystem.py +14 -39
- cribl_control_plane/models/outputgooglechronicle.py +16 -50
- cribl_control_plane/models/outputgooglecloudlogging.py +14 -41
- cribl_control_plane/models/outputgooglecloudstorage.py +24 -66
- cribl_control_plane/models/outputgooglepubsub.py +10 -31
- cribl_control_plane/models/outputgrafanacloud.py +32 -97
- cribl_control_plane/models/outputgraphite.py +14 -31
- cribl_control_plane/models/outputhoneycomb.py +12 -35
- cribl_control_plane/models/outputhumiohec.py +16 -43
- cribl_control_plane/models/outputinfluxdb.py +16 -42
- cribl_control_plane/models/outputkafka.py +28 -74
- cribl_control_plane/models/outputkinesis.py +16 -40
- cribl_control_plane/models/outputloki.py +16 -41
- cribl_control_plane/models/outputminio.py +24 -65
- cribl_control_plane/models/outputmsk.py +30 -82
- cribl_control_plane/models/outputnewrelic.py +18 -43
- cribl_control_plane/models/outputnewrelicevents.py +14 -41
- cribl_control_plane/models/outputopentelemetry.py +26 -67
- cribl_control_plane/models/outputprometheus.py +12 -35
- cribl_control_plane/models/outputring.py +8 -19
- cribl_control_plane/models/outputs3.py +26 -68
- cribl_control_plane/models/outputsecuritylake.py +18 -52
- cribl_control_plane/models/outputsentinel.py +18 -45
- cribl_control_plane/models/outputsentineloneaisiem.py +18 -50
- cribl_control_plane/models/outputservicenow.py +24 -60
- cribl_control_plane/models/outputsignalfx.py +14 -37
- cribl_control_plane/models/outputsns.py +14 -36
- cribl_control_plane/models/outputsplunk.py +24 -60
- cribl_control_plane/models/outputsplunkhec.py +12 -35
- cribl_control_plane/models/outputsplunklb.py +30 -77
- cribl_control_plane/models/outputsqs.py +16 -41
- cribl_control_plane/models/outputstatsd.py +14 -30
- cribl_control_plane/models/outputstatsdext.py +12 -29
- cribl_control_plane/models/outputsumologic.py +12 -35
- cribl_control_plane/models/outputsyslog.py +24 -58
- cribl_control_plane/models/outputtcpjson.py +20 -52
- cribl_control_plane/models/outputwavefront.py +12 -35
- cribl_control_plane/models/outputwebhook.py +22 -58
- cribl_control_plane/models/outputxsiam.py +14 -35
- cribl_control_plane/models/productscore.py +1 -2
- cribl_control_plane/models/rbacresource.py +1 -2
- cribl_control_plane/models/resourcepolicy.py +2 -4
- cribl_control_plane/models/routecloneconf.py +13 -0
- cribl_control_plane/models/routeconf.py +4 -3
- cribl_control_plane/models/runnablejobcollection.py +13 -30
- cribl_control_plane/models/runnablejobexecutor.py +4 -13
- cribl_control_plane/models/runnablejobscheduledsearch.py +2 -7
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +2 -8
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +2 -8
- cribl_control_plane/models/workertypes.py +1 -2
- cribl_control_plane/sdk.py +2 -2
- cribl_control_plane/utils/annotations.py +32 -8
- {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/METADATA +2 -1
- {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/RECORD +164 -162
- {cribl_control_plane-0.0.48a1.dist-info → cribl_control_plane-0.0.49.dist-info}/WHEEL +0 -0
cribl_control_plane/_version.py
CHANGED
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "cribl-control-plane"
|
|
6
|
-
__version__: str = "0.0.
|
|
7
|
-
__openapi_doc_version__: str = "4.
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str =
|
|
6
|
+
__version__: str = "0.0.49"
|
|
7
|
+
__openapi_doc_version__: str = "4.14.0-837595d5"
|
|
8
|
+
__gen_version__: str = "2.716.10"
|
|
9
|
+
__user_agent__: str = (
|
|
10
|
+
"speakeasy-sdk/python 0.0.49 2.716.10 4.14.0-837595d5 cribl-control-plane"
|
|
11
|
+
)
|
|
10
12
|
|
|
11
13
|
try:
|
|
12
14
|
if __package__ is not None:
|
|
@@ -4,25 +4,19 @@ 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
|
|
8
7
|
from dataclasses import dataclass, field
|
|
9
8
|
import httpx
|
|
10
9
|
import pydantic
|
|
11
|
-
from pydantic.functional_validators import PlainValidator
|
|
12
10
|
from typing import Optional
|
|
13
11
|
from typing_extensions import Annotated
|
|
14
12
|
|
|
15
13
|
|
|
16
14
|
class HealthStatusErrorData(BaseModel):
|
|
17
|
-
status:
|
|
18
|
-
models_healthstatus.Status, PlainValidator(validate_open_enum(False))
|
|
19
|
-
]
|
|
15
|
+
status: models_healthstatus.Status
|
|
20
16
|
|
|
21
17
|
start_time: Annotated[float, pydantic.Field(alias="startTime")]
|
|
22
18
|
|
|
23
|
-
role:
|
|
24
|
-
Optional[models_healthstatus.Role], PlainValidator(validate_open_enum(False))
|
|
25
|
-
] = None
|
|
19
|
+
role: Optional[models_healthstatus.Role] = None
|
|
26
20
|
|
|
27
21
|
|
|
28
22
|
@dataclass(frozen=True)
|
|
@@ -12,6 +12,7 @@ if TYPE_CHECKING:
|
|
|
12
12
|
AddHecTokenRequestMetadatumTypedDict,
|
|
13
13
|
AddHecTokenRequestTypedDict,
|
|
14
14
|
)
|
|
15
|
+
from .appmode import AppMode
|
|
15
16
|
from .authtoken import AuthToken, AuthTokenTypedDict
|
|
16
17
|
from .branchinfo import BranchInfo, BranchInfoTypedDict
|
|
17
18
|
from .cacheconnection import CacheConnection, CacheConnectionTypedDict
|
|
@@ -352,13 +353,7 @@ if TYPE_CHECKING:
|
|
|
352
353
|
Renamed,
|
|
353
354
|
RenamedTypedDict,
|
|
354
355
|
)
|
|
355
|
-
from .hbcriblinfo import
|
|
356
|
-
Config,
|
|
357
|
-
ConfigTypedDict,
|
|
358
|
-
DistMode,
|
|
359
|
-
HBCriblInfo,
|
|
360
|
-
HBCriblInfoTypedDict,
|
|
361
|
-
)
|
|
356
|
+
from .hbcriblinfo import Config, ConfigTypedDict, HBCriblInfo, HBCriblInfoTypedDict
|
|
362
357
|
from .hbleaderinfo import HBLeaderInfo, HBLeaderInfoTypedDict
|
|
363
358
|
from .healthstatus import HealthStatus, HealthStatusTypedDict, Role, Status
|
|
364
359
|
from .heartbeatmetadata import (
|
|
@@ -3130,6 +3125,7 @@ if TYPE_CHECKING:
|
|
|
3130
3125
|
from .productscore import ProductsCore
|
|
3131
3126
|
from .rbacresource import RbacResource
|
|
3132
3127
|
from .resourcepolicy import ResourcePolicy, ResourcePolicyTypedDict
|
|
3128
|
+
from .routecloneconf import RouteCloneConf, RouteCloneConfTypedDict
|
|
3133
3129
|
from .routeconf import RouteConf, RouteConfTypedDict
|
|
3134
3130
|
from .routes import (
|
|
3135
3131
|
Comment,
|
|
@@ -3148,7 +3144,6 @@ if TYPE_CHECKING:
|
|
|
3148
3144
|
CollectorSpecificSettings,
|
|
3149
3145
|
CollectorSpecificSettingsTypedDict,
|
|
3150
3146
|
CollectorTypedDict,
|
|
3151
|
-
InputType,
|
|
3152
3147
|
RunnableJobCollection,
|
|
3153
3148
|
RunnableJobCollectionInput,
|
|
3154
3149
|
RunnableJobCollectionInputTypedDict,
|
|
@@ -3171,6 +3166,7 @@ if TYPE_CHECKING:
|
|
|
3171
3166
|
RunnableJobCollectionScheduleTypedDict,
|
|
3172
3167
|
RunnableJobCollectionTimeWarning,
|
|
3173
3168
|
RunnableJobCollectionTimeWarningTypedDict,
|
|
3169
|
+
RunnableJobCollectionType,
|
|
3174
3170
|
RunnableJobCollectionTypedDict,
|
|
3175
3171
|
TimeRange,
|
|
3176
3172
|
WhereToCapture,
|
|
@@ -3290,6 +3286,7 @@ __all__ = [
|
|
|
3290
3286
|
"AdditionalPropertyTypedDict",
|
|
3291
3287
|
"Allow",
|
|
3292
3288
|
"AllowTypedDict",
|
|
3289
|
+
"AppMode",
|
|
3293
3290
|
"Audit",
|
|
3294
3291
|
"AuditTypedDict",
|
|
3295
3292
|
"AuthToken",
|
|
@@ -3439,7 +3436,6 @@ __all__ = [
|
|
|
3439
3436
|
"DiffFilesTypedDict",
|
|
3440
3437
|
"DisksAndFileSystems",
|
|
3441
3438
|
"DisksAndFileSystemsTypedDict",
|
|
3442
|
-
"DistMode",
|
|
3443
3439
|
"DistributedSummary",
|
|
3444
3440
|
"DistributedSummaryGroups",
|
|
3445
3441
|
"DistributedSummaryGroupsTypedDict",
|
|
@@ -4690,7 +4686,6 @@ __all__ = [
|
|
|
4690
4686
|
"InputTcpjsonTLSSettingsServerSideTypedDict",
|
|
4691
4687
|
"InputTcpjsonType",
|
|
4692
4688
|
"InputTcpjsonTypedDict",
|
|
4693
|
-
"InputType",
|
|
4694
4689
|
"InputTypedDict",
|
|
4695
4690
|
"InputWef",
|
|
4696
4691
|
"InputWefAuthenticationMethod",
|
|
@@ -6058,6 +6053,8 @@ __all__ = [
|
|
|
6058
6053
|
"ResourceTypeLabel",
|
|
6059
6054
|
"ResourceTypeLabelTypedDict",
|
|
6060
6055
|
"Role",
|
|
6056
|
+
"RouteCloneConf",
|
|
6057
|
+
"RouteCloneConfTypedDict",
|
|
6061
6058
|
"RouteConf",
|
|
6062
6059
|
"RouteConfTypedDict",
|
|
6063
6060
|
"Routes",
|
|
@@ -6089,6 +6086,7 @@ __all__ = [
|
|
|
6089
6086
|
"RunnableJobCollectionScheduleTypedDict",
|
|
6090
6087
|
"RunnableJobCollectionTimeWarning",
|
|
6091
6088
|
"RunnableJobCollectionTimeWarningTypedDict",
|
|
6089
|
+
"RunnableJobCollectionType",
|
|
6092
6090
|
"RunnableJobCollectionTypedDict",
|
|
6093
6091
|
"RunnableJobExecutor",
|
|
6094
6092
|
"RunnableJobExecutorJobType",
|
|
@@ -6208,6 +6206,7 @@ _dynamic_imports: dict[str, str] = {
|
|
|
6208
6206
|
"AddHecTokenRequestMetadatum": ".addhectokenrequest",
|
|
6209
6207
|
"AddHecTokenRequestMetadatumTypedDict": ".addhectokenrequest",
|
|
6210
6208
|
"AddHecTokenRequestTypedDict": ".addhectokenrequest",
|
|
6209
|
+
"AppMode": ".appmode",
|
|
6211
6210
|
"AuthToken": ".authtoken",
|
|
6212
6211
|
"AuthTokenTypedDict": ".authtoken",
|
|
6213
6212
|
"BranchInfo": ".branchinfo",
|
|
@@ -6471,7 +6470,6 @@ _dynamic_imports: dict[str, str] = {
|
|
|
6471
6470
|
"RenamedTypedDict": ".gitstatusresult",
|
|
6472
6471
|
"Config": ".hbcriblinfo",
|
|
6473
6472
|
"ConfigTypedDict": ".hbcriblinfo",
|
|
6474
|
-
"DistMode": ".hbcriblinfo",
|
|
6475
6473
|
"HBCriblInfo": ".hbcriblinfo",
|
|
6476
6474
|
"HBCriblInfoTypedDict": ".hbcriblinfo",
|
|
6477
6475
|
"HBLeaderInfo": ".hbleaderinfo",
|
|
@@ -9002,6 +9000,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
9002
9000
|
"RbacResource": ".rbacresource",
|
|
9003
9001
|
"ResourcePolicy": ".resourcepolicy",
|
|
9004
9002
|
"ResourcePolicyTypedDict": ".resourcepolicy",
|
|
9003
|
+
"RouteCloneConf": ".routecloneconf",
|
|
9004
|
+
"RouteCloneConfTypedDict": ".routecloneconf",
|
|
9005
9005
|
"RouteConf": ".routeconf",
|
|
9006
9006
|
"RouteConfTypedDict": ".routeconf",
|
|
9007
9007
|
"Comment": ".routes",
|
|
@@ -9020,7 +9020,6 @@ _dynamic_imports: dict[str, str] = {
|
|
|
9020
9020
|
"CollectorSpecificSettings": ".runnablejobcollection",
|
|
9021
9021
|
"CollectorSpecificSettingsTypedDict": ".runnablejobcollection",
|
|
9022
9022
|
"CollectorTypedDict": ".runnablejobcollection",
|
|
9023
|
-
"InputType": ".runnablejobcollection",
|
|
9024
9023
|
"RunnableJobCollection": ".runnablejobcollection",
|
|
9025
9024
|
"RunnableJobCollectionInput": ".runnablejobcollection",
|
|
9026
9025
|
"RunnableJobCollectionInputTypedDict": ".runnablejobcollection",
|
|
@@ -9043,6 +9042,7 @@ _dynamic_imports: dict[str, str] = {
|
|
|
9043
9042
|
"RunnableJobCollectionScheduleTypedDict": ".runnablejobcollection",
|
|
9044
9043
|
"RunnableJobCollectionTimeWarning": ".runnablejobcollection",
|
|
9045
9044
|
"RunnableJobCollectionTimeWarningTypedDict": ".runnablejobcollection",
|
|
9045
|
+
"RunnableJobCollectionType": ".runnablejobcollection",
|
|
9046
9046
|
"RunnableJobCollectionTypedDict": ".runnablejobcollection",
|
|
9047
9047
|
"TimeRange": ".runnablejobcollection",
|
|
9048
9048
|
"WhereToCapture": ".runnablejobcollection",
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from enum import Enum
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class AppMode(str, Enum):
|
|
8
|
+
SINGLE = "single"
|
|
9
|
+
MASTER = "master"
|
|
10
|
+
WORKER = "worker"
|
|
11
|
+
EDGE = "edge"
|
|
12
|
+
MANAGED_EDGE = "managed-edge"
|
|
13
|
+
OUTPOST = "outpost"
|
|
@@ -4,9 +4,7 @@ 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
|
|
8
7
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
8
|
from typing import List, Optional
|
|
11
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
10
|
|
|
@@ -33,17 +31,11 @@ class CacheConnection(BaseModel):
|
|
|
33
31
|
] = None
|
|
34
32
|
|
|
35
33
|
backfill_status: Annotated[
|
|
36
|
-
|
|
37
|
-
Optional[CacheConnectionBackfillStatus],
|
|
38
|
-
PlainValidator(validate_open_enum(False)),
|
|
39
|
-
],
|
|
40
|
-
pydantic.Field(alias="backfillStatus"),
|
|
34
|
+
Optional[CacheConnectionBackfillStatus], pydantic.Field(alias="backfillStatus")
|
|
41
35
|
] = None
|
|
42
36
|
|
|
43
37
|
lakehouse_connection_type: Annotated[
|
|
44
|
-
|
|
45
|
-
Optional[LakehouseConnectionType], PlainValidator(validate_open_enum(False))
|
|
46
|
-
],
|
|
38
|
+
Optional[LakehouseConnectionType],
|
|
47
39
|
pydantic.Field(alias="lakehouseConnectionType"),
|
|
48
40
|
] = None
|
|
49
41
|
|
|
@@ -1,11 +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
|
|
5
4
|
from enum import Enum
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
class CacheConnectionBackfillStatus(str, Enum
|
|
7
|
+
class CacheConnectionBackfillStatus(str, Enum):
|
|
9
8
|
SCHEDULED = "scheduled"
|
|
10
9
|
PENDING = "pending"
|
|
11
10
|
STARTED = "started"
|
|
@@ -1,10 +1,9 @@
|
|
|
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
|
|
5
4
|
from enum import Enum
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
class CloudProvider(str, Enum
|
|
7
|
+
class CloudProvider(str, Enum):
|
|
9
8
|
AWS = "aws"
|
|
10
9
|
AZURE = "azure"
|
|
@@ -4,12 +4,9 @@ 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
|
|
8
7
|
from cribl_control_plane.types import BaseModel
|
|
9
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
10
8
|
from enum import Enum
|
|
11
9
|
import pydantic
|
|
12
|
-
from pydantic.functional_validators import PlainValidator
|
|
13
10
|
from typing import List, Optional
|
|
14
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
12
|
|
|
@@ -30,7 +27,7 @@ class Git(BaseModel):
|
|
|
30
27
|
log: Optional[List[Commit]] = None
|
|
31
28
|
|
|
32
29
|
|
|
33
|
-
class ConfigGroupType(str, Enum
|
|
30
|
+
class ConfigGroupType(str, Enum):
|
|
34
31
|
LAKE_ACCESS = "lake_access"
|
|
35
32
|
|
|
36
33
|
|
|
@@ -108,9 +105,7 @@ class ConfigGroup(BaseModel):
|
|
|
108
105
|
|
|
109
106
|
tags: Optional[str] = None
|
|
110
107
|
|
|
111
|
-
type:
|
|
112
|
-
Optional[ConfigGroupType], PlainValidator(validate_open_enum(False))
|
|
113
|
-
] = None
|
|
108
|
+
type: Optional[ConfigGroupType] = None
|
|
114
109
|
|
|
115
110
|
upgrade_version: Annotated[
|
|
116
111
|
Optional[str], pydantic.Field(alias="upgradeVersion")
|
|
@@ -3,10 +3,8 @@
|
|
|
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
|
|
7
6
|
from pydantic import model_serializer
|
|
8
|
-
from
|
|
9
|
-
from typing_extensions import Annotated, TypedDict
|
|
7
|
+
from typing_extensions import TypedDict
|
|
10
8
|
|
|
11
9
|
|
|
12
10
|
class ConfigGroupCloudTypedDict(TypedDict):
|
|
@@ -15,9 +13,7 @@ class ConfigGroupCloudTypedDict(TypedDict):
|
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
class ConfigGroupCloud(BaseModel):
|
|
18
|
-
provider:
|
|
19
|
-
Nullable[CloudProvider], PlainValidator(validate_open_enum(False))
|
|
20
|
-
]
|
|
16
|
+
provider: Nullable[CloudProvider]
|
|
21
17
|
|
|
22
18
|
region: str
|
|
23
19
|
|
|
@@ -4,13 +4,7 @@ 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
|
|
8
|
-
FieldMetadata,
|
|
9
|
-
PathParamMetadata,
|
|
10
|
-
RequestMetadata,
|
|
11
|
-
validate_open_enum,
|
|
12
|
-
)
|
|
13
|
-
from pydantic.functional_validators import PlainValidator
|
|
7
|
+
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
14
8
|
from typing import List, Optional
|
|
15
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
10
|
|
|
@@ -24,7 +18,7 @@ class CreateConfigGroupByProductRequestTypedDict(TypedDict):
|
|
|
24
18
|
|
|
25
19
|
class CreateConfigGroupByProductRequest(BaseModel):
|
|
26
20
|
product: Annotated[
|
|
27
|
-
|
|
21
|
+
ProductsCore,
|
|
28
22
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
29
23
|
]
|
|
30
24
|
r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
|
|
@@ -6,17 +6,14 @@ from .lakedatasetsearchconfig import (
|
|
|
6
6
|
LakeDatasetSearchConfig,
|
|
7
7
|
LakeDatasetSearchConfigTypedDict,
|
|
8
8
|
)
|
|
9
|
-
from cribl_control_plane import utils
|
|
10
9
|
from cribl_control_plane.types import BaseModel
|
|
11
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
12
10
|
from enum import Enum
|
|
13
11
|
import pydantic
|
|
14
|
-
from pydantic.functional_validators import PlainValidator
|
|
15
12
|
from typing import List, Optional
|
|
16
13
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
14
|
|
|
18
15
|
|
|
19
|
-
class CriblLakeDatasetFormat(str, Enum
|
|
16
|
+
class CriblLakeDatasetFormat(str, Enum):
|
|
20
17
|
JSON = "json"
|
|
21
18
|
DDSS = "ddss"
|
|
22
19
|
PARQUET = "parquet"
|
|
@@ -57,10 +54,7 @@ class CriblLakeDataset(BaseModel):
|
|
|
57
54
|
description: Optional[str] = None
|
|
58
55
|
|
|
59
56
|
format_: Annotated[
|
|
60
|
-
|
|
61
|
-
Optional[CriblLakeDatasetFormat], PlainValidator(validate_open_enum(False))
|
|
62
|
-
],
|
|
63
|
-
pydantic.Field(alias="format"),
|
|
57
|
+
Optional[CriblLakeDatasetFormat], pydantic.Field(alias="format")
|
|
64
58
|
] = None
|
|
65
59
|
|
|
66
60
|
http_da_used: Annotated[Optional[bool], pydantic.Field(alias="httpDAUsed")] = None
|
|
@@ -5,17 +5,14 @@ from .datasetmetadataruninfo import (
|
|
|
5
5
|
DatasetMetadataRunInfo,
|
|
6
6
|
DatasetMetadataRunInfoTypedDict,
|
|
7
7
|
)
|
|
8
|
-
from cribl_control_plane import utils
|
|
9
8
|
from cribl_control_plane.types import BaseModel
|
|
10
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
11
9
|
from enum import Enum
|
|
12
10
|
import pydantic
|
|
13
|
-
from pydantic.functional_validators import PlainValidator
|
|
14
11
|
from typing import List, Optional
|
|
15
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
13
|
|
|
17
14
|
|
|
18
|
-
class ScanMode(str, Enum
|
|
15
|
+
class ScanMode(str, Enum):
|
|
19
16
|
DETAILED = "detailed"
|
|
20
17
|
QUICK = "quick"
|
|
21
18
|
|
|
@@ -35,10 +32,7 @@ class DatasetMetadata(BaseModel):
|
|
|
35
32
|
|
|
36
33
|
field_list: Annotated[List[str], pydantic.Field(alias="fieldList")]
|
|
37
34
|
|
|
38
|
-
scan_mode: Annotated[
|
|
39
|
-
Annotated[ScanMode, PlainValidator(validate_open_enum(False))],
|
|
40
|
-
pydantic.Field(alias="scanMode"),
|
|
41
|
-
]
|
|
35
|
+
scan_mode: Annotated[ScanMode, pydantic.Field(alias="scanMode")]
|
|
42
36
|
|
|
43
37
|
latest_run_info: Annotated[
|
|
44
38
|
Optional[DatasetMetadataRunInfo], pydantic.Field(alias="latestRunInfo")
|
|
@@ -4,12 +4,7 @@ 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
|
|
8
|
-
FieldMetadata,
|
|
9
|
-
PathParamMetadata,
|
|
10
|
-
validate_open_enum,
|
|
11
|
-
)
|
|
12
|
-
from pydantic.functional_validators import PlainValidator
|
|
7
|
+
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
|
|
13
8
|
from typing import List, Optional
|
|
14
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
10
|
|
|
@@ -23,7 +18,7 @@ class DeleteConfigGroupByProductAndIDRequestTypedDict(TypedDict):
|
|
|
23
18
|
|
|
24
19
|
class DeleteConfigGroupByProductAndIDRequest(BaseModel):
|
|
25
20
|
product: Annotated[
|
|
26
|
-
|
|
21
|
+
ProductsCore,
|
|
27
22
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
28
23
|
]
|
|
29
24
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
@@ -9,9 +9,7 @@ from cribl_control_plane.utils import (
|
|
|
9
9
|
FieldMetadata,
|
|
10
10
|
PathParamMetadata,
|
|
11
11
|
QueryParamMetadata,
|
|
12
|
-
validate_open_enum,
|
|
13
12
|
)
|
|
14
|
-
from pydantic.functional_validators import PlainValidator
|
|
15
13
|
from typing import List, Optional
|
|
16
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
15
|
|
|
@@ -27,7 +25,7 @@ class GetConfigGroupACLByProductAndIDRequestTypedDict(TypedDict):
|
|
|
27
25
|
|
|
28
26
|
class GetConfigGroupACLByProductAndIDRequest(BaseModel):
|
|
29
27
|
product: Annotated[
|
|
30
|
-
|
|
28
|
+
ProductsCore,
|
|
31
29
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
32
30
|
]
|
|
33
31
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
@@ -38,7 +36,7 @@ class GetConfigGroupACLByProductAndIDRequest(BaseModel):
|
|
|
38
36
|
r"""The <code>id</code> of the Worker Group or Edge Fleet to get the ACL for."""
|
|
39
37
|
|
|
40
38
|
type: Annotated[
|
|
41
|
-
|
|
39
|
+
Optional[RbacResource],
|
|
42
40
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
43
41
|
] = None
|
|
44
42
|
r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
|
|
@@ -9,9 +9,7 @@ from cribl_control_plane.utils import (
|
|
|
9
9
|
FieldMetadata,
|
|
10
10
|
PathParamMetadata,
|
|
11
11
|
QueryParamMetadata,
|
|
12
|
-
validate_open_enum,
|
|
13
12
|
)
|
|
14
|
-
from pydantic.functional_validators import PlainValidator
|
|
15
13
|
from typing import List, Optional
|
|
16
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
17
15
|
|
|
@@ -27,7 +25,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequestTypedDict(TypedDict):
|
|
|
27
25
|
|
|
28
26
|
class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
|
|
29
27
|
product: Annotated[
|
|
30
|
-
|
|
28
|
+
ProductsCore,
|
|
31
29
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
32
30
|
]
|
|
33
31
|
r"""Name of the Cribl product that contains the Worker Group or Edge Fleet."""
|
|
@@ -38,7 +36,7 @@ class GetConfigGroupACLTeamsByProductAndIDRequest(BaseModel):
|
|
|
38
36
|
r"""The <code>id</code> of the Worker Group or Edge Fleet to get the team ACL for."""
|
|
39
37
|
|
|
40
38
|
type: Annotated[
|
|
41
|
-
|
|
39
|
+
Optional[RbacResource],
|
|
42
40
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
43
41
|
] = None
|
|
44
42
|
r"""Filter for limiting the response to ACL entries for the specified RBAC resource type."""
|
|
@@ -8,9 +8,7 @@ from cribl_control_plane.utils import (
|
|
|
8
8
|
FieldMetadata,
|
|
9
9
|
PathParamMetadata,
|
|
10
10
|
QueryParamMetadata,
|
|
11
|
-
validate_open_enum,
|
|
12
11
|
)
|
|
13
|
-
from pydantic.functional_validators import PlainValidator
|
|
14
12
|
from typing import List, Optional
|
|
15
13
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
14
|
|
|
@@ -26,7 +24,7 @@ class GetConfigGroupByProductAndIDRequestTypedDict(TypedDict):
|
|
|
26
24
|
|
|
27
25
|
class GetConfigGroupByProductAndIDRequest(BaseModel):
|
|
28
26
|
product: Annotated[
|
|
29
|
-
|
|
27
|
+
ProductsCore,
|
|
30
28
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
31
29
|
]
|
|
32
30
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
@@ -3,12 +3,7 @@
|
|
|
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
|
|
7
|
-
FieldMetadata,
|
|
8
|
-
PathParamMetadata,
|
|
9
|
-
validate_open_enum,
|
|
10
|
-
)
|
|
11
|
-
from pydantic.functional_validators import PlainValidator
|
|
6
|
+
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
|
|
12
7
|
from typing import List, Optional
|
|
13
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
9
|
|
|
@@ -22,7 +17,7 @@ class GetConfigGroupConfigVersionByProductAndIDRequestTypedDict(TypedDict):
|
|
|
22
17
|
|
|
23
18
|
class GetConfigGroupConfigVersionByProductAndIDRequest(BaseModel):
|
|
24
19
|
product: Annotated[
|
|
25
|
-
|
|
20
|
+
ProductsCore,
|
|
26
21
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
27
22
|
]
|
|
28
23
|
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
@@ -4,12 +4,7 @@ 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
|
|
8
|
-
FieldMetadata,
|
|
9
|
-
QueryParamMetadata,
|
|
10
|
-
validate_open_enum,
|
|
11
|
-
)
|
|
12
|
-
from pydantic.functional_validators import PlainValidator
|
|
7
|
+
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
13
8
|
from typing import List, Optional
|
|
14
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
10
|
|
|
@@ -21,7 +16,7 @@ class GetSummaryRequestTypedDict(TypedDict):
|
|
|
21
16
|
|
|
22
17
|
class GetSummaryRequest(BaseModel):
|
|
23
18
|
mode: Annotated[
|
|
24
|
-
|
|
19
|
+
Optional[WorkerTypes],
|
|
25
20
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
26
21
|
] = None
|
|
27
22
|
r"""Filter for limiting the response by Cribl product: Cribl Stream (<code>worker</code>) or Cribl Edge (<code>managed-edge</code>)."""
|
|
@@ -1,14 +1,11 @@
|
|
|
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
|
|
4
5
|
from .hbleaderinfo import HBLeaderInfo, HBLeaderInfoTypedDict
|
|
5
6
|
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
|
|
10
8
|
import pydantic
|
|
11
|
-
from pydantic.functional_validators import PlainValidator
|
|
12
9
|
from typing import List, Optional
|
|
13
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
11
|
|
|
@@ -37,19 +34,9 @@ class Config(BaseModel):
|
|
|
37
34
|
version: Optional[str] = None
|
|
38
35
|
|
|
39
36
|
|
|
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
|
-
|
|
50
37
|
class HBCriblInfoTypedDict(TypedDict):
|
|
51
38
|
config: ConfigTypedDict
|
|
52
|
-
dist_mode:
|
|
39
|
+
dist_mode: AppMode
|
|
53
40
|
group: str
|
|
54
41
|
guid: str
|
|
55
42
|
start_time: float
|
|
@@ -67,10 +54,7 @@ class HBCriblInfoTypedDict(TypedDict):
|
|
|
67
54
|
class HBCriblInfo(BaseModel):
|
|
68
55
|
config: Config
|
|
69
56
|
|
|
70
|
-
dist_mode: Annotated[
|
|
71
|
-
Annotated[DistMode, PlainValidator(validate_open_enum(False))],
|
|
72
|
-
pydantic.Field(alias="distMode"),
|
|
73
|
-
]
|
|
57
|
+
dist_mode: Annotated[AppMode, pydantic.Field(alias="distMode")]
|
|
74
58
|
|
|
75
59
|
group: str
|
|
76
60
|
|
|
@@ -1,22 +1,19 @@
|
|
|
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
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class Role(str, Enum
|
|
11
|
+
class Role(str, Enum):
|
|
15
12
|
PRIMARY = "primary"
|
|
16
13
|
STANDBY = "standby"
|
|
17
14
|
|
|
18
15
|
|
|
19
|
-
class Status(str, Enum
|
|
16
|
+
class Status(str, Enum):
|
|
20
17
|
HEALTHY = "healthy"
|
|
21
18
|
SHUTTING_DOWN = "shutting down"
|
|
22
19
|
STANDBY = "standby"
|
|
@@ -29,8 +26,8 @@ class HealthStatusTypedDict(TypedDict):
|
|
|
29
26
|
|
|
30
27
|
|
|
31
28
|
class HealthStatus(BaseModel):
|
|
32
|
-
status:
|
|
29
|
+
status: Status
|
|
33
30
|
|
|
34
31
|
start_time: Annotated[float, pydantic.Field(alias="startTime")]
|
|
35
32
|
|
|
36
|
-
role:
|
|
33
|
+
role: Optional[Role] = None
|
|
@@ -17,7 +17,6 @@ class HeartbeatMetadataTags(BaseModel):
|
|
|
17
17
|
|
|
18
18
|
class HeartbeatMetadataAwsTypedDict(TypedDict):
|
|
19
19
|
enabled: bool
|
|
20
|
-
instance_id: str
|
|
21
20
|
region: str
|
|
22
21
|
type: str
|
|
23
22
|
zone: str
|
|
@@ -27,8 +26,6 @@ class HeartbeatMetadataAwsTypedDict(TypedDict):
|
|
|
27
26
|
class HeartbeatMetadataAws(BaseModel):
|
|
28
27
|
enabled: bool
|
|
29
28
|
|
|
30
|
-
instance_id: Annotated[str, pydantic.Field(alias="instanceId")]
|
|
31
|
-
|
|
32
29
|
region: str
|
|
33
30
|
|
|
34
31
|
type: str
|