cribl-control-plane 0.4.0a6__py3-none-any.whl → 0.4.0b12__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 +4 -4
- cribl_control_plane/acl.py +16 -6
- cribl_control_plane/basesdk.py +6 -0
- cribl_control_plane/branches.py +28 -8
- cribl_control_plane/commits.py +112 -42
- cribl_control_plane/commits_files.py +32 -12
- cribl_control_plane/configs_versions.py +16 -10
- cribl_control_plane/destinations.py +80 -30
- cribl_control_plane/destinations_pq.py +32 -12
- cribl_control_plane/groups_sdk.py +96 -60
- cribl_control_plane/health.py +12 -2
- cribl_control_plane/hectokens.py +32 -20
- cribl_control_plane/lakedatasets.py +80 -50
- cribl_control_plane/models/__init__.py +266 -438
- cribl_control_plane/models/configgroup.py +1 -0
- cribl_control_plane/models/{getversionbranchop.py → countedbranchinfo.py} +2 -6
- cribl_control_plane/models/countedconfiggroup.py +20 -0
- cribl_control_plane/models/countedcribllakedataset.py +20 -0
- cribl_control_plane/models/counteddistributedsummary.py +20 -0
- cribl_control_plane/models/countedgitcommitsummary.py +20 -0
- cribl_control_plane/models/countedgitcountresult.py +20 -0
- cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
- cribl_control_plane/models/countedgitfilesresponse.py +20 -0
- cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
- cribl_control_plane/models/countedgitlogresult.py +20 -0
- cribl_control_plane/models/countedgitrevertresult.py +20 -0
- cribl_control_plane/models/countedgitshowresult.py +20 -0
- cribl_control_plane/models/countedgitstatusresult.py +20 -0
- cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
- cribl_control_plane/models/countedinputsplunkhec.py +20 -0
- cribl_control_plane/models/countedjobinfo.py +20 -0
- cribl_control_plane/models/countedmasterworkerentry.py +20 -0
- cribl_control_plane/models/countednumber.py +19 -0
- cribl_control_plane/models/countedobject.py +19 -0
- cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
- cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
- cribl_control_plane/models/countedoutputtestresponse.py +20 -0
- cribl_control_plane/models/countedpackinfo.py +20 -0
- cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
- cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
- cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
- cribl_control_plane/models/{createversionpushop.py → countedstring.py} +2 -6
- cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
- cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
- cribl_control_plane/models/createauthloginop.py +18 -0
- cribl_control_plane/models/createconfiggroupbyproductop.py +1 -20
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
- cribl_control_plane/models/createinputhectokenbyidop.py +1 -20
- cribl_control_plane/models/createoutputtestbyidop.py +1 -20
- cribl_control_plane/models/createroutesappendbyidop.py +2 -20
- cribl_control_plane/models/createversioncommitop.py +1 -19
- cribl_control_plane/models/createversionrevertop.py +1 -19
- cribl_control_plane/models/createversionundoop.py +1 -18
- cribl_control_plane/models/criblevent.py +15 -0
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +1 -20
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/deleteinputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
- cribl_control_plane/models/deletepacksbyidop.py +1 -20
- cribl_control_plane/models/deletepipelinebyidop.py +1 -20
- cribl_control_plane/models/difffiles.py +5 -46
- cribl_control_plane/models/diffline.py +26 -0
- cribl_control_plane/models/difflinecontext.py +28 -0
- cribl_control_plane/models/difflinedelete.py +25 -0
- cribl_control_plane/models/difflineinsert.py +25 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +1 -19
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +1 -19
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -19
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +1 -19
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +1 -20
- cribl_control_plane/models/getinputbyidop.py +1 -20
- cribl_control_plane/models/getmasterworkerentryop.py +1 -18
- cribl_control_plane/models/getoutputbyidop.py +1 -20
- cribl_control_plane/models/getoutputpqbyidop.py +1 -20
- cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
- cribl_control_plane/models/getpacksbyidop.py +1 -20
- cribl_control_plane/models/getpacksop.py +1 -19
- cribl_control_plane/models/getpipelinebyidop.py +1 -20
- cribl_control_plane/models/getroutesbyidop.py +1 -20
- cribl_control_plane/models/getsummaryop.py +1 -19
- cribl_control_plane/models/getversioncountop.py +1 -19
- cribl_control_plane/models/getversiondiffop.py +1 -19
- cribl_control_plane/models/getversionfilesop.py +1 -19
- cribl_control_plane/models/getversionop.py +1 -19
- cribl_control_plane/models/getversionshowop.py +1 -19
- cribl_control_plane/models/getversionstatusop.py +1 -19
- cribl_control_plane/models/groupcreaterequest.py +1 -0
- cribl_control_plane/models/hbcriblinfo.py +3 -4
- cribl_control_plane/models/heartbeatmetadata.py +3 -11
- cribl_control_plane/models/inputcloudflarehec.py +9 -4
- cribl_control_plane/models/inputconfluentcloud.py +4 -2
- cribl_control_plane/models/inputcribllakehttp.py +15 -0
- cribl_control_plane/models/inputkafka.py +4 -2
- cribl_control_plane/models/inputmsk.py +4 -2
- cribl_control_plane/models/inputsnmp.py +33 -7
- cribl_control_plane/models/inputsplunkhec.py +8 -4
- cribl_control_plane/models/inputwef.py +23 -0
- cribl_control_plane/models/inputwiz.py +95 -0
- cribl_control_plane/models/inputzscalerhec.py +8 -4
- cribl_control_plane/models/listconfiggroupbyproductop.py +1 -19
- cribl_control_plane/models/listmasterworkerentryop.py +1 -19
- cribl_control_plane/models/masterworkerentry.py +3 -11
- cribl_control_plane/models/nodeprovidedinfo.py +2 -10
- cribl_control_plane/models/outputsplunklb.py +10 -0
- cribl_control_plane/models/runnablejobcollection.py +0 -56
- cribl_control_plane/models/runnablejobexecutor.py +0 -28
- cribl_control_plane/models/runnablejobscheduledsearch.py +0 -28
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +1 -19
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +1 -20
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/updateinputbyidop.py +1 -19
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -20
- cribl_control_plane/models/updateoutputbyidop.py +1 -19
- cribl_control_plane/models/updatepacksbyidop.py +1 -20
- cribl_control_plane/models/updatepipelinebyidop.py +1 -19
- cribl_control_plane/models/updateroutesbyidop.py +1 -19
- cribl_control_plane/nodes.py +32 -20
- cribl_control_plane/packs.py +92 -32
- cribl_control_plane/pipelines.py +80 -30
- cribl_control_plane/routes_sdk.py +64 -28
- cribl_control_plane/samples.py +32 -16
- cribl_control_plane/sources.py +80 -30
- cribl_control_plane/statuses.py +16 -6
- cribl_control_plane/summaries.py +16 -6
- cribl_control_plane/teams.py +16 -6
- cribl_control_plane/tokens.py +28 -8
- cribl_control_plane/utils/forms.py +21 -10
- cribl_control_plane/utils/queryparams.py +14 -2
- cribl_control_plane/versions_configs.py +16 -6
- {cribl_control_plane-0.4.0a6.dist-info → cribl_control_plane-0.4.0b12.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.4.0a6.dist-info → cribl_control_plane-0.4.0b12.dist-info}/RECORD +135 -113
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/lookupversions.py +0 -13
- {cribl_control_plane-0.4.0a6.dist-info → cribl_control_plane-0.4.0b12.dist-info}/WHEEL +0 -0
- {cribl_control_plane-0.4.0a6.dist-info → cribl_control_plane-0.4.0b12.dist-info}/licenses/LICENSE +0 -0
|
@@ -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 .gitdiffresult import GitDiffResult, GitDiffResultTypedDict
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
5
|
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
7
6
|
import pydantic
|
|
8
|
-
from typing import
|
|
7
|
+
from typing import Optional
|
|
9
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
9
|
|
|
11
10
|
|
|
@@ -46,20 +45,3 @@ class GetVersionDiffRequest(BaseModel):
|
|
|
46
45
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
47
46
|
] = None
|
|
48
47
|
r"""Number of lines of the diff to return. Default is 1000. Set to <code>0</code> to return the full diff, regardless of the number of lines."""
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
class GetVersionDiffResponseTypedDict(TypedDict):
|
|
52
|
-
r"""a list of GitDiffResult objects"""
|
|
53
|
-
|
|
54
|
-
count: NotRequired[int]
|
|
55
|
-
r"""number of items present in the items array"""
|
|
56
|
-
items: NotRequired[List[GitDiffResultTypedDict]]
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class GetVersionDiffResponse(BaseModel):
|
|
60
|
-
r"""a list of GitDiffResult objects"""
|
|
61
|
-
|
|
62
|
-
count: Optional[int] = None
|
|
63
|
-
r"""number of items present in the items array"""
|
|
64
|
-
|
|
65
|
-
items: Optional[List[GitDiffResult]] = None
|
|
@@ -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 .gitfilesresponse import GitFilesResponse, GitFilesResponseTypedDict
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
5
|
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
7
6
|
import pydantic
|
|
8
|
-
from typing import
|
|
7
|
+
from typing import Optional
|
|
9
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
9
|
|
|
11
10
|
|
|
@@ -30,20 +29,3 @@ class GetVersionFilesRequest(BaseModel):
|
|
|
30
29
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
31
30
|
] = None
|
|
32
31
|
r"""The Git commit hash to use as the starting point for the request."""
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class GetVersionFilesResponseTypedDict(TypedDict):
|
|
36
|
-
r"""a list of GitFilesResponse objects"""
|
|
37
|
-
|
|
38
|
-
count: NotRequired[int]
|
|
39
|
-
r"""number of items present in the items array"""
|
|
40
|
-
items: NotRequired[List[GitFilesResponseTypedDict]]
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
class GetVersionFilesResponse(BaseModel):
|
|
44
|
-
r"""a list of GitFilesResponse objects"""
|
|
45
|
-
|
|
46
|
-
count: Optional[int] = None
|
|
47
|
-
r"""number of items present in the items array"""
|
|
48
|
-
|
|
49
|
-
items: Optional[List[GitFilesResponse]] = None
|
|
@@ -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 .gitlogresult import GitLogResult, GitLogResultTypedDict
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
5
|
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
7
6
|
import pydantic
|
|
8
|
-
from typing import
|
|
7
|
+
from typing import Optional
|
|
9
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
9
|
|
|
11
10
|
|
|
@@ -29,20 +28,3 @@ class GetVersionRequest(BaseModel):
|
|
|
29
28
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
30
29
|
] = None
|
|
31
30
|
r"""Maximum number of commits to return in the response for this request."""
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class GetVersionResponseTypedDict(TypedDict):
|
|
35
|
-
r"""a list of GitLogResult objects"""
|
|
36
|
-
|
|
37
|
-
count: NotRequired[int]
|
|
38
|
-
r"""number of items present in the items array"""
|
|
39
|
-
items: NotRequired[List[GitLogResultTypedDict]]
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class GetVersionResponse(BaseModel):
|
|
43
|
-
r"""a list of GitLogResult objects"""
|
|
44
|
-
|
|
45
|
-
count: Optional[int] = None
|
|
46
|
-
r"""number of items present in the items array"""
|
|
47
|
-
|
|
48
|
-
items: Optional[List[GitLogResult]] = None
|
|
@@ -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 .gitshowresult import GitShowResult, GitShowResultTypedDict
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
5
|
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
7
6
|
import pydantic
|
|
8
|
-
from typing import
|
|
7
|
+
from typing import Optional
|
|
9
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
9
|
|
|
11
10
|
|
|
@@ -46,20 +45,3 @@ class GetVersionShowRequest(BaseModel):
|
|
|
46
45
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
47
46
|
] = None
|
|
48
47
|
r"""Number of lines of the diff to return. Default is 1000. Set to <code>0</code> to return the full diff, regardless of the number of lines."""
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
class GetVersionShowResponseTypedDict(TypedDict):
|
|
52
|
-
r"""a list of GitShowResult objects"""
|
|
53
|
-
|
|
54
|
-
count: NotRequired[int]
|
|
55
|
-
r"""number of items present in the items array"""
|
|
56
|
-
items: NotRequired[List[GitShowResultTypedDict]]
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class GetVersionShowResponse(BaseModel):
|
|
60
|
-
r"""a list of GitShowResult objects"""
|
|
61
|
-
|
|
62
|
-
count: Optional[int] = None
|
|
63
|
-
r"""number of items present in the items array"""
|
|
64
|
-
|
|
65
|
-
items: Optional[List[GitShowResult]] = None
|
|
@@ -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 .gitstatusresult import GitStatusResult, GitStatusResultTypedDict
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
5
|
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata
|
|
7
6
|
import pydantic
|
|
8
|
-
from typing import
|
|
7
|
+
from typing import Optional
|
|
9
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
9
|
|
|
11
10
|
|
|
@@ -21,20 +20,3 @@ class GetVersionStatusRequest(BaseModel):
|
|
|
21
20
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
22
21
|
] = None
|
|
23
22
|
r"""The <code>id</code> of the Worker Group or Edge Fleet to get the status for."""
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class GetVersionStatusResponseTypedDict(TypedDict):
|
|
27
|
-
r"""a list of GitStatusResult objects"""
|
|
28
|
-
|
|
29
|
-
count: NotRequired[int]
|
|
30
|
-
r"""number of items present in the items array"""
|
|
31
|
-
items: NotRequired[List[GitStatusResultTypedDict]]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class GetVersionStatusResponse(BaseModel):
|
|
35
|
-
r"""a list of GitStatusResult objects"""
|
|
36
|
-
|
|
37
|
-
count: Optional[int] = None
|
|
38
|
-
r"""number of items present in the items array"""
|
|
39
|
-
|
|
40
|
-
items: Optional[List[GitStatusResult]] = None
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .hbleaderinfo import HBLeaderInfo, HBLeaderInfoTypedDict
|
|
5
|
-
from .lookupversions import LookupVersions, LookupVersionsTypedDict
|
|
6
5
|
from cribl_control_plane import models, utils
|
|
7
6
|
from cribl_control_plane.types import BaseModel
|
|
8
7
|
from cribl_control_plane.utils import validate_open_enum
|
|
@@ -10,7 +9,7 @@ from enum import Enum
|
|
|
10
9
|
import pydantic
|
|
11
10
|
from pydantic import field_serializer
|
|
12
11
|
from pydantic.functional_validators import PlainValidator
|
|
13
|
-
from typing import List, Optional
|
|
12
|
+
from typing import Dict, List, Optional
|
|
14
13
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
14
|
|
|
16
15
|
|
|
@@ -59,7 +58,7 @@ class HBCriblInfoTypedDict(TypedDict):
|
|
|
59
58
|
disable_sni_routing: NotRequired[bool]
|
|
60
59
|
edge_nodes: NotRequired[float]
|
|
61
60
|
install_type: NotRequired[str]
|
|
62
|
-
lookup_versions: NotRequired[
|
|
61
|
+
lookup_versions: NotRequired[Dict[str, Dict[str, str]]]
|
|
63
62
|
master: NotRequired[HBLeaderInfoTypedDict]
|
|
64
63
|
pid: NotRequired[float]
|
|
65
64
|
socks_enabled: NotRequired[bool]
|
|
@@ -93,7 +92,7 @@ class HBCriblInfo(BaseModel):
|
|
|
93
92
|
install_type: Annotated[Optional[str], pydantic.Field(alias="installType")] = None
|
|
94
93
|
|
|
95
94
|
lookup_versions: Annotated[
|
|
96
|
-
Optional[
|
|
95
|
+
Optional[Dict[str, Dict[str, str]]], pydantic.Field(alias="lookupVersions")
|
|
97
96
|
] = None
|
|
98
97
|
|
|
99
98
|
master: Optional[HBLeaderInfo] = None
|
|
@@ -3,25 +3,17 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from cribl_control_plane.types import BaseModel
|
|
5
5
|
import pydantic
|
|
6
|
-
from typing import List, Optional
|
|
6
|
+
from typing import Dict, List, Optional
|
|
7
7
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
class HeartbeatMetadataTagsTypedDict(TypedDict):
|
|
11
|
-
pass
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class HeartbeatMetadataTags(BaseModel):
|
|
15
|
-
pass
|
|
16
|
-
|
|
17
|
-
|
|
18
10
|
class HeartbeatMetadataAwsTypedDict(TypedDict):
|
|
19
11
|
enabled: bool
|
|
20
12
|
instance_id: str
|
|
21
13
|
region: str
|
|
22
14
|
type: str
|
|
23
15
|
zone: str
|
|
24
|
-
tags: NotRequired[
|
|
16
|
+
tags: NotRequired[Dict[str, str]]
|
|
25
17
|
|
|
26
18
|
|
|
27
19
|
class HeartbeatMetadataAws(BaseModel):
|
|
@@ -35,7 +27,7 @@ class HeartbeatMetadataAws(BaseModel):
|
|
|
35
27
|
|
|
36
28
|
zone: str
|
|
37
29
|
|
|
38
|
-
tags: Optional[
|
|
30
|
+
tags: Optional[Dict[str, str]] = None
|
|
39
31
|
|
|
40
32
|
|
|
41
33
|
class HeartbeatMetadataHostOsTypedDict(TypedDict):
|
|
@@ -131,6 +131,7 @@ class InputCloudflareHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnum
|
|
|
131
131
|
r"""Select Secret to use a text secret to authenticate"""
|
|
132
132
|
|
|
133
133
|
SECRET = "secret"
|
|
134
|
+
MANUAL = "manual"
|
|
134
135
|
|
|
135
136
|
|
|
136
137
|
class InputCloudflareHecAuthTokenMetadatumTypedDict(TypedDict):
|
|
@@ -149,8 +150,10 @@ class InputCloudflareHecAuthTokenMetadatum(BaseModel):
|
|
|
149
150
|
class InputCloudflareHecAuthTokenTypedDict(TypedDict):
|
|
150
151
|
auth_type: NotRequired[InputCloudflareHecAuthenticationMethod]
|
|
151
152
|
r"""Select Secret to use a text secret to authenticate"""
|
|
152
|
-
token_secret: NotRequired[
|
|
153
|
-
|
|
153
|
+
token_secret: NotRequired[str]
|
|
154
|
+
r"""Select or create a stored text secret"""
|
|
155
|
+
token: NotRequired[str]
|
|
156
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
154
157
|
enabled: NotRequired[bool]
|
|
155
158
|
description: NotRequired[str]
|
|
156
159
|
allowed_indexes_at_token: NotRequired[List[str]]
|
|
@@ -169,9 +172,11 @@ class InputCloudflareHecAuthToken(BaseModel):
|
|
|
169
172
|
] = InputCloudflareHecAuthenticationMethod.SECRET
|
|
170
173
|
r"""Select Secret to use a text secret to authenticate"""
|
|
171
174
|
|
|
172
|
-
token_secret: Annotated[Optional[
|
|
175
|
+
token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None
|
|
176
|
+
r"""Select or create a stored text secret"""
|
|
173
177
|
|
|
174
|
-
token: Optional[
|
|
178
|
+
token: Optional[str] = None
|
|
179
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
175
180
|
|
|
176
181
|
enabled: Optional[bool] = True
|
|
177
182
|
|
|
@@ -626,7 +626,8 @@ class InputConfluentCloudTypedDict(TypedDict):
|
|
|
626
626
|
sasl: NotRequired[InputConfluentCloudAuthenticationTypedDict]
|
|
627
627
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
628
628
|
session_timeout: NotRequired[float]
|
|
629
|
-
r"""
|
|
629
|
+
r"""
|
|
630
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
630
631
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
631
632
|
the broker will remove the client from the group and initiate a rebalance.
|
|
632
633
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -748,7 +749,8 @@ class InputConfluentCloud(BaseModel):
|
|
|
748
749
|
session_timeout: Annotated[
|
|
749
750
|
Optional[float], pydantic.Field(alias="sessionTimeout")
|
|
750
751
|
] = 30000
|
|
751
|
-
r"""
|
|
752
|
+
r"""
|
|
753
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
752
754
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
753
755
|
the broker will remove the client from the group and initiate a rebalance.
|
|
754
756
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -259,19 +259,34 @@ class InputCriblLakeHTTPAuthTokensExtMetadatum(BaseModel):
|
|
|
259
259
|
|
|
260
260
|
class SplunkHecMetadataTypedDict(TypedDict):
|
|
261
261
|
enabled: NotRequired[bool]
|
|
262
|
+
default_dataset: NotRequired[str]
|
|
263
|
+
allowed_indexes_at_token: NotRequired[List[str]]
|
|
262
264
|
|
|
263
265
|
|
|
264
266
|
class SplunkHecMetadata(BaseModel):
|
|
265
267
|
enabled: Optional[bool] = None
|
|
266
268
|
|
|
269
|
+
default_dataset: Annotated[
|
|
270
|
+
Optional[str], pydantic.Field(alias="defaultDataset")
|
|
271
|
+
] = None
|
|
272
|
+
|
|
273
|
+
allowed_indexes_at_token: Annotated[
|
|
274
|
+
Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken")
|
|
275
|
+
] = None
|
|
276
|
+
|
|
267
277
|
|
|
268
278
|
class ElasticsearchMetadataTypedDict(TypedDict):
|
|
269
279
|
enabled: NotRequired[bool]
|
|
280
|
+
default_dataset: NotRequired[str]
|
|
270
281
|
|
|
271
282
|
|
|
272
283
|
class ElasticsearchMetadata(BaseModel):
|
|
273
284
|
enabled: Optional[bool] = None
|
|
274
285
|
|
|
286
|
+
default_dataset: Annotated[
|
|
287
|
+
Optional[str], pydantic.Field(alias="defaultDataset")
|
|
288
|
+
] = None
|
|
289
|
+
|
|
275
290
|
|
|
276
291
|
class InputCriblLakeHTTPAuthTokensExtTypedDict(TypedDict):
|
|
277
292
|
token: str
|
|
@@ -616,7 +616,8 @@ class InputKafkaTypedDict(TypedDict):
|
|
|
616
616
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
617
617
|
tls: NotRequired[InputKafkaTLSSettingsClientSideTypedDict]
|
|
618
618
|
session_timeout: NotRequired[float]
|
|
619
|
-
r"""
|
|
619
|
+
r"""
|
|
620
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
620
621
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
621
622
|
the broker will remove the client from the group and initiate a rebalance.
|
|
622
623
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -738,7 +739,8 @@ class InputKafka(BaseModel):
|
|
|
738
739
|
session_timeout: Annotated[
|
|
739
740
|
Optional[float], pydantic.Field(alias="sessionTimeout")
|
|
740
741
|
] = 30000
|
|
741
|
-
r"""
|
|
742
|
+
r"""
|
|
743
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
742
744
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
743
745
|
the broker will remove the client from the group and initiate a rebalance.
|
|
744
746
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -453,7 +453,8 @@ class InputMskTypedDict(TypedDict):
|
|
|
453
453
|
from_beginning: NotRequired[bool]
|
|
454
454
|
r"""Leave enabled if you want the Source, upon first subscribing to a topic, to read starting with the earliest available message"""
|
|
455
455
|
session_timeout: NotRequired[float]
|
|
456
|
-
r"""
|
|
456
|
+
r"""
|
|
457
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
457
458
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
458
459
|
the broker will remove the client from the group and initiate a rebalance.
|
|
459
460
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -576,7 +577,8 @@ class InputMsk(BaseModel):
|
|
|
576
577
|
session_timeout: Annotated[
|
|
577
578
|
Optional[float], pydantic.Field(alias="sessionTimeout")
|
|
578
579
|
] = 30000
|
|
579
|
-
r"""
|
|
580
|
+
r"""
|
|
581
|
+
Timeout used to detect client failures when using Kafka's group-management facilities.
|
|
580
582
|
If the client sends no heartbeats to the broker before the timeout expires,
|
|
581
583
|
the broker will remove the client from the group and initiate a rebalance.
|
|
582
584
|
Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
|
|
@@ -8,7 +8,7 @@ from enum import Enum
|
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic import field_serializer
|
|
10
10
|
from pydantic.functional_validators import PlainValidator
|
|
11
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
12
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
13
|
|
|
14
14
|
|
|
@@ -143,11 +143,25 @@ class AuthenticationProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
143
143
|
SHA512 = "sha512"
|
|
144
144
|
|
|
145
145
|
|
|
146
|
+
class PrivacyProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
147
|
+
# None
|
|
148
|
+
NONE = "none"
|
|
149
|
+
# DES
|
|
150
|
+
DES = "des"
|
|
151
|
+
# AES128
|
|
152
|
+
AES = "aes"
|
|
153
|
+
# AES256b (Blumenthal)
|
|
154
|
+
AES256B = "aes256b"
|
|
155
|
+
# AES256r (Reeder)
|
|
156
|
+
AES256R = "aes256r"
|
|
157
|
+
|
|
158
|
+
|
|
146
159
|
class V3UserTypedDict(TypedDict):
|
|
147
160
|
name: str
|
|
148
161
|
auth_protocol: NotRequired[AuthenticationProtocol]
|
|
149
|
-
auth_key: NotRequired[
|
|
150
|
-
priv_protocol: NotRequired[
|
|
162
|
+
auth_key: NotRequired[str]
|
|
163
|
+
priv_protocol: NotRequired[PrivacyProtocol]
|
|
164
|
+
priv_key: NotRequired[str]
|
|
151
165
|
|
|
152
166
|
|
|
153
167
|
class V3User(BaseModel):
|
|
@@ -160,11 +174,14 @@ class V3User(BaseModel):
|
|
|
160
174
|
pydantic.Field(alias="authProtocol"),
|
|
161
175
|
] = AuthenticationProtocol.NONE
|
|
162
176
|
|
|
163
|
-
auth_key: Annotated[Optional[
|
|
177
|
+
auth_key: Annotated[Optional[str], pydantic.Field(alias="authKey")] = None
|
|
164
178
|
|
|
165
|
-
priv_protocol: Annotated[
|
|
166
|
-
|
|
167
|
-
|
|
179
|
+
priv_protocol: Annotated[
|
|
180
|
+
Annotated[Optional[PrivacyProtocol], PlainValidator(validate_open_enum(False))],
|
|
181
|
+
pydantic.Field(alias="privProtocol"),
|
|
182
|
+
] = PrivacyProtocol.NONE
|
|
183
|
+
|
|
184
|
+
priv_key: Annotated[Optional[str], pydantic.Field(alias="privKey")] = None
|
|
168
185
|
|
|
169
186
|
@field_serializer("auth_protocol")
|
|
170
187
|
def serialize_auth_protocol(self, value):
|
|
@@ -175,6 +192,15 @@ class V3User(BaseModel):
|
|
|
175
192
|
return value
|
|
176
193
|
return value
|
|
177
194
|
|
|
195
|
+
@field_serializer("priv_protocol")
|
|
196
|
+
def serialize_priv_protocol(self, value):
|
|
197
|
+
if isinstance(value, str):
|
|
198
|
+
try:
|
|
199
|
+
return models.PrivacyProtocol(value)
|
|
200
|
+
except ValueError:
|
|
201
|
+
return value
|
|
202
|
+
return value
|
|
203
|
+
|
|
178
204
|
|
|
179
205
|
class SNMPv3AuthenticationTypedDict(TypedDict):
|
|
180
206
|
r"""Authentication parameters for SNMPv3 trap. Set the log level to debug if you are experiencing authentication or decryption issues."""
|
|
@@ -147,10 +147,12 @@ class InputSplunkHecAuthTokenMetadatum(BaseModel):
|
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
class InputSplunkHecAuthTokenTypedDict(TypedDict):
|
|
150
|
-
token:
|
|
150
|
+
token: str
|
|
151
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
151
152
|
auth_type: NotRequired[InputSplunkHecAuthenticationMethod]
|
|
152
153
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
153
|
-
token_secret: NotRequired[
|
|
154
|
+
token_secret: NotRequired[str]
|
|
155
|
+
r"""Select or create a stored text secret"""
|
|
154
156
|
enabled: NotRequired[bool]
|
|
155
157
|
description: NotRequired[str]
|
|
156
158
|
r"""Optional token description"""
|
|
@@ -161,7 +163,8 @@ class InputSplunkHecAuthTokenTypedDict(TypedDict):
|
|
|
161
163
|
|
|
162
164
|
|
|
163
165
|
class InputSplunkHecAuthToken(BaseModel):
|
|
164
|
-
token:
|
|
166
|
+
token: str
|
|
167
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
165
168
|
|
|
166
169
|
auth_type: Annotated[
|
|
167
170
|
Annotated[
|
|
@@ -172,7 +175,8 @@ class InputSplunkHecAuthToken(BaseModel):
|
|
|
172
175
|
] = InputSplunkHecAuthenticationMethod.MANUAL
|
|
173
176
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
174
177
|
|
|
175
|
-
token_secret: Annotated[Optional[
|
|
178
|
+
token_secret: Annotated[Optional[str], pydantic.Field(alias="tokenSecret")] = None
|
|
179
|
+
r"""Select or create a stored text secret"""
|
|
176
180
|
|
|
177
181
|
enabled: Optional[bool] = True
|
|
178
182
|
|
|
@@ -284,6 +284,21 @@ class SubscriptionMetadatum(BaseModel):
|
|
|
284
284
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
285
285
|
|
|
286
286
|
|
|
287
|
+
class QueryTypedDict(TypedDict):
|
|
288
|
+
path: str
|
|
289
|
+
r"""The Path attribute from the relevant XML Select element"""
|
|
290
|
+
query_expression: str
|
|
291
|
+
r"""The XPath query inside the relevant XML Select element"""
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
class Query(BaseModel):
|
|
295
|
+
path: str
|
|
296
|
+
r"""The Path attribute from the relevant XML Select element"""
|
|
297
|
+
|
|
298
|
+
query_expression: Annotated[str, pydantic.Field(alias="queryExpression")]
|
|
299
|
+
r"""The XPath query inside the relevant XML Select element"""
|
|
300
|
+
|
|
301
|
+
|
|
287
302
|
class SubscriptionTypedDict(TypedDict):
|
|
288
303
|
subscription_name: str
|
|
289
304
|
targets: List[str]
|
|
@@ -307,6 +322,9 @@ class SubscriptionTypedDict(TypedDict):
|
|
|
307
322
|
query_selector: NotRequired[QueryBuilderMode]
|
|
308
323
|
metadata: NotRequired[List[SubscriptionMetadatumTypedDict]]
|
|
309
324
|
r"""Fields to add to events ingested under this subscription"""
|
|
325
|
+
queries: NotRequired[List[QueryTypedDict]]
|
|
326
|
+
xml_query: NotRequired[str]
|
|
327
|
+
r"""The XPath query to use for selecting events"""
|
|
310
328
|
|
|
311
329
|
|
|
312
330
|
class Subscription(BaseModel):
|
|
@@ -358,6 +376,11 @@ class Subscription(BaseModel):
|
|
|
358
376
|
metadata: Optional[List[SubscriptionMetadatum]] = None
|
|
359
377
|
r"""Fields to add to events ingested under this subscription"""
|
|
360
378
|
|
|
379
|
+
queries: Optional[List[Query]] = None
|
|
380
|
+
|
|
381
|
+
xml_query: Annotated[Optional[str], pydantic.Field(alias="xmlQuery")] = None
|
|
382
|
+
r"""The XPath query to use for selecting events"""
|
|
383
|
+
|
|
361
384
|
@field_serializer("content_format")
|
|
362
385
|
def serialize_content_format(self, value):
|
|
363
386
|
if isinstance(value, str):
|
|
@@ -126,23 +126,118 @@ class InputWizPq(BaseModel):
|
|
|
126
126
|
return value
|
|
127
127
|
|
|
128
128
|
|
|
129
|
+
class ManageStateTypedDict(TypedDict):
|
|
130
|
+
pass
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class ManageState(BaseModel):
|
|
134
|
+
pass
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class InputWizLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
138
|
+
r"""Collector runtime log level"""
|
|
139
|
+
|
|
140
|
+
ERROR = "error"
|
|
141
|
+
WARN = "warn"
|
|
142
|
+
INFO = "info"
|
|
143
|
+
DEBUG = "debug"
|
|
144
|
+
SILLY = "silly"
|
|
145
|
+
|
|
146
|
+
|
|
129
147
|
class InputWizContentConfigTypedDict(TypedDict):
|
|
130
148
|
content_type: str
|
|
131
149
|
r"""The name of the Wiz query"""
|
|
150
|
+
content_query: str
|
|
151
|
+
r"""Template for POST body to send with the Collect request. Reference global variables, or functions using template params: `${C.vars.myVar}`, or `${Date.now()}`, `${param}`."""
|
|
132
152
|
content_description: NotRequired[str]
|
|
133
153
|
enabled: NotRequired[bool]
|
|
154
|
+
state_tracking: NotRequired[bool]
|
|
155
|
+
r"""Track collection progress between consecutive scheduled executions"""
|
|
156
|
+
state_update_expression: NotRequired[str]
|
|
157
|
+
r"""JavaScript expression that defines how to update the state from an event. Use the event's data and the current state to compute the new state. See [Understanding State Expression Fields](https://docs.cribl.io/stream/collectors-rest#state-tracking-expression-fields) for more information."""
|
|
158
|
+
state_merge_expression: NotRequired[str]
|
|
159
|
+
r"""JavaScript expression that defines which state to keep when merging a task's newly reported state with previously saved state. Evaluates `prevState` and `newState` variables, resolving to the state to keep."""
|
|
160
|
+
manage_state: NotRequired[ManageStateTypedDict]
|
|
161
|
+
cron_schedule: NotRequired[str]
|
|
162
|
+
r"""A cron schedule on which to run this job"""
|
|
163
|
+
earliest: NotRequired[str]
|
|
164
|
+
r"""Earliest time, relative to now. Format supported: [+|-]<time_integer><time_unit>@<snap-to_time_unit> (ex: -1hr, -42m, -42m@h)"""
|
|
165
|
+
latest: NotRequired[str]
|
|
166
|
+
r"""Latest time, relative to now. Format supported: [+|-]<time_integer><time_unit>@<snap-to_time_unit> (ex: -1hr, -42m, -42m@h)"""
|
|
167
|
+
job_timeout: NotRequired[str]
|
|
168
|
+
r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Units default to seconds if not specified. Enter 0 for unlimited time."""
|
|
169
|
+
log_level: NotRequired[InputWizLogLevel]
|
|
170
|
+
r"""Collector runtime log level"""
|
|
171
|
+
max_pages: NotRequired[float]
|
|
172
|
+
r"""Maximum number of pages to retrieve per collection task. Defaults to 0. Set to 0 to retrieve all pages."""
|
|
134
173
|
|
|
135
174
|
|
|
136
175
|
class InputWizContentConfig(BaseModel):
|
|
137
176
|
content_type: Annotated[str, pydantic.Field(alias="contentType")]
|
|
138
177
|
r"""The name of the Wiz query"""
|
|
139
178
|
|
|
179
|
+
content_query: Annotated[str, pydantic.Field(alias="contentQuery")]
|
|
180
|
+
r"""Template for POST body to send with the Collect request. Reference global variables, or functions using template params: `${C.vars.myVar}`, or `${Date.now()}`, `${param}`."""
|
|
181
|
+
|
|
140
182
|
content_description: Annotated[
|
|
141
183
|
Optional[str], pydantic.Field(alias="contentDescription")
|
|
142
184
|
] = None
|
|
143
185
|
|
|
144
186
|
enabled: Optional[bool] = False
|
|
145
187
|
|
|
188
|
+
state_tracking: Annotated[Optional[bool], pydantic.Field(alias="stateTracking")] = (
|
|
189
|
+
False
|
|
190
|
+
)
|
|
191
|
+
r"""Track collection progress between consecutive scheduled executions"""
|
|
192
|
+
|
|
193
|
+
state_update_expression: Annotated[
|
|
194
|
+
Optional[str], pydantic.Field(alias="stateUpdateExpression")
|
|
195
|
+
] = "__timestampExtracted !== false && {latestTime: (state.latestTime || 0) > _time ? state.latestTime : _time}"
|
|
196
|
+
r"""JavaScript expression that defines how to update the state from an event. Use the event's data and the current state to compute the new state. See [Understanding State Expression Fields](https://docs.cribl.io/stream/collectors-rest#state-tracking-expression-fields) for more information."""
|
|
197
|
+
|
|
198
|
+
state_merge_expression: Annotated[
|
|
199
|
+
Optional[str], pydantic.Field(alias="stateMergeExpression")
|
|
200
|
+
] = "prevState.latestTime > newState.latestTime ? prevState : newState"
|
|
201
|
+
r"""JavaScript expression that defines which state to keep when merging a task's newly reported state with previously saved state. Evaluates `prevState` and `newState` variables, resolving to the state to keep."""
|
|
202
|
+
|
|
203
|
+
manage_state: Annotated[
|
|
204
|
+
Optional[ManageState], pydantic.Field(alias="manageState")
|
|
205
|
+
] = None
|
|
206
|
+
|
|
207
|
+
cron_schedule: Annotated[Optional[str], pydantic.Field(alias="cronSchedule")] = (
|
|
208
|
+
"0 */12 * * *"
|
|
209
|
+
)
|
|
210
|
+
r"""A cron schedule on which to run this job"""
|
|
211
|
+
|
|
212
|
+
earliest: Optional[str] = "-12h@h"
|
|
213
|
+
r"""Earliest time, relative to now. Format supported: [+|-]<time_integer><time_unit>@<snap-to_time_unit> (ex: -1hr, -42m, -42m@h)"""
|
|
214
|
+
|
|
215
|
+
latest: Optional[str] = "now"
|
|
216
|
+
r"""Latest time, relative to now. Format supported: [+|-]<time_integer><time_unit>@<snap-to_time_unit> (ex: -1hr, -42m, -42m@h)"""
|
|
217
|
+
|
|
218
|
+
job_timeout: Annotated[Optional[str], pydantic.Field(alias="jobTimeout")] = "0"
|
|
219
|
+
r"""Maximum time the job is allowed to run (examples: 30, 45s, 15m). Units default to seconds if not specified. Enter 0 for unlimited time."""
|
|
220
|
+
|
|
221
|
+
log_level: Annotated[
|
|
222
|
+
Annotated[
|
|
223
|
+
Optional[InputWizLogLevel], PlainValidator(validate_open_enum(False))
|
|
224
|
+
],
|
|
225
|
+
pydantic.Field(alias="logLevel"),
|
|
226
|
+
] = InputWizLogLevel.INFO
|
|
227
|
+
r"""Collector runtime log level"""
|
|
228
|
+
|
|
229
|
+
max_pages: Annotated[Optional[float], pydantic.Field(alias="maxPages")] = 0
|
|
230
|
+
r"""Maximum number of pages to retrieve per collection task. Defaults to 0. Set to 0 to retrieve all pages."""
|
|
231
|
+
|
|
232
|
+
@field_serializer("log_level")
|
|
233
|
+
def serialize_log_level(self, value):
|
|
234
|
+
if isinstance(value, str):
|
|
235
|
+
try:
|
|
236
|
+
return models.InputWizLogLevel(value)
|
|
237
|
+
except ValueError:
|
|
238
|
+
return value
|
|
239
|
+
return value
|
|
240
|
+
|
|
146
241
|
|
|
147
242
|
class InputWizMetadatumTypedDict(TypedDict):
|
|
148
243
|
name: str
|