cribl-control-plane 0.3.0b2__py3-none-any.whl → 0.3.0b4__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 +3 -3
- cribl_control_plane/errors/__init__.py +8 -5
- cribl_control_plane/errors/{healthstatus_error.py → healthserverstatus_error.py} +10 -9
- cribl_control_plane/groups_sdk.py +48 -24
- cribl_control_plane/health.py +22 -16
- cribl_control_plane/models/__init__.py +152 -29
- cribl_control_plane/models/authtoken.py +4 -7
- cribl_control_plane/models/configgroup.py +8 -7
- cribl_control_plane/models/createconfiggroupbyproductop.py +6 -5
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/groupcreaterequest.py +152 -0
- cribl_control_plane/models/{healthstatus.py → healthserverstatus.py} +7 -7
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +20 -16
- cribl_control_plane/models/inputconfluentcloud.py +110 -0
- cribl_control_plane/models/inputcriblhttp.py +20 -16
- cribl_control_plane/models/inputcribllakehttp.py +20 -16
- cribl_control_plane/models/inputcribltcp.py +20 -16
- cribl_control_plane/models/inputdatadogagent.py +20 -16
- cribl_control_plane/models/inputedgeprometheus.py +44 -36
- cribl_control_plane/models/inputelastic.py +44 -27
- cribl_control_plane/models/inputeventhub.py +118 -0
- cribl_control_plane/models/inputfile.py +7 -2
- cribl_control_plane/models/inputfirehose.py +20 -16
- cribl_control_plane/models/inputgrafana.py +39 -31
- cribl_control_plane/models/inputhttp.py +20 -16
- cribl_control_plane/models/inputhttpraw.py +20 -16
- cribl_control_plane/models/inputkafka.py +108 -0
- cribl_control_plane/models/inputloki.py +20 -16
- cribl_control_plane/models/inputmetrics.py +20 -16
- cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
- cribl_control_plane/models/inputopentelemetry.py +19 -15
- cribl_control_plane/models/inputprometheus.py +44 -36
- cribl_control_plane/models/inputprometheusrw.py +20 -16
- cribl_control_plane/models/inputsplunk.py +20 -16
- cribl_control_plane/models/inputsplunkhec.py +19 -15
- cribl_control_plane/models/inputsyslog.py +39 -31
- cribl_control_plane/models/inputsystemmetrics.py +20 -10
- cribl_control_plane/models/inputtcp.py +30 -16
- cribl_control_plane/models/inputtcpjson.py +20 -16
- cribl_control_plane/models/inputwindowsmetrics.py +20 -10
- cribl_control_plane/models/inputwineventlogs.py +14 -0
- cribl_control_plane/models/inputwizwebhook.py +20 -16
- cribl_control_plane/models/inputzscalerhec.py +19 -15
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +7 -0
- cribl_control_plane/models/outputazuredataexplorer.py +283 -93
- cribl_control_plane/models/outputazureeventhub.py +169 -21
- cribl_control_plane/models/outputazurelogs.py +49 -21
- cribl_control_plane/models/outputchronicle.py +49 -21
- cribl_control_plane/models/outputclickhouse.py +49 -21
- cribl_control_plane/models/outputcloudwatch.py +49 -21
- cribl_control_plane/models/outputconfluentcloud.py +167 -22
- cribl_control_plane/models/outputcriblhttp.py +49 -21
- cribl_control_plane/models/outputcribltcp.py +49 -21
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
- cribl_control_plane/models/outputdatabricks.py +7 -0
- cribl_control_plane/models/outputdatadog.py +49 -21
- cribl_control_plane/models/outputdataset.py +49 -21
- cribl_control_plane/models/outputdls3.py +7 -0
- cribl_control_plane/models/outputdynatracehttp.py +49 -21
- cribl_control_plane/models/outputdynatraceotlp.py +49 -21
- cribl_control_plane/models/outputelastic.py +74 -21
- cribl_control_plane/models/outputelasticcloud.py +74 -21
- cribl_control_plane/models/outputfilesystem.py +7 -0
- cribl_control_plane/models/outputgooglechronicle.py +65 -22
- cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
- cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
- cribl_control_plane/models/outputgooglepubsub.py +49 -21
- cribl_control_plane/models/outputgrafanacloud.py +98 -42
- cribl_control_plane/models/outputgraphite.py +49 -21
- cribl_control_plane/models/outputhoneycomb.py +49 -21
- cribl_control_plane/models/outputhumiohec.py +49 -21
- cribl_control_plane/models/outputinfluxdb.py +49 -21
- cribl_control_plane/models/outputkafka.py +162 -19
- cribl_control_plane/models/outputkinesis.py +56 -21
- cribl_control_plane/models/outputloki.py +47 -19
- cribl_control_plane/models/outputminio.py +7 -0
- cribl_control_plane/models/outputmsk.py +54 -19
- cribl_control_plane/models/outputnewrelic.py +49 -21
- cribl_control_plane/models/outputnewrelicevents.py +50 -22
- cribl_control_plane/models/outputopentelemetry.py +49 -21
- cribl_control_plane/models/outputprometheus.py +49 -21
- cribl_control_plane/models/outputs3.py +7 -0
- cribl_control_plane/models/outputsentinel.py +49 -21
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
- cribl_control_plane/models/outputservicenow.py +49 -21
- cribl_control_plane/models/outputsignalfx.py +49 -21
- cribl_control_plane/models/outputsns.py +47 -19
- cribl_control_plane/models/outputsplunk.py +49 -21
- cribl_control_plane/models/outputsplunkhec.py +124 -21
- cribl_control_plane/models/outputsplunklb.py +49 -21
- cribl_control_plane/models/outputsqs.py +47 -19
- cribl_control_plane/models/outputstatsd.py +49 -21
- cribl_control_plane/models/outputstatsdext.py +49 -21
- cribl_control_plane/models/outputsumologic.py +49 -21
- cribl_control_plane/models/outputsyslog.py +129 -99
- cribl_control_plane/models/outputtcpjson.py +49 -21
- cribl_control_plane/models/outputwavefront.py +49 -21
- cribl_control_plane/models/outputwebhook.py +49 -21
- cribl_control_plane/models/outputxsiam.py +47 -19
- cribl_control_plane/models/runnablejobcollection.py +12 -8
- cribl_control_plane/models/runnablejobexecutor.py +12 -8
- cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +23 -15
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/METADATA +4 -4
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/RECORD +111 -112
- cribl_control_plane/models/error.py +0 -16
- cribl_control_plane/models/gethealthinfoop.py +0 -17
- {cribl_control_plane-0.3.0b2.dist-info → cribl_control_plane-0.3.0b4.dist-info}/WHEEL +0 -0
|
@@ -3,18 +3,15 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from cribl_control_plane.types import BaseModel
|
|
5
5
|
import pydantic
|
|
6
|
-
from
|
|
7
|
-
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
6
|
+
from typing_extensions import Annotated, TypedDict
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
class AuthTokenTypedDict(TypedDict):
|
|
10
|
+
force_password_change: bool
|
|
11
11
|
token: str
|
|
12
|
-
force_password_change: NotRequired[bool]
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
class AuthToken(BaseModel):
|
|
16
|
-
|
|
15
|
+
force_password_change: Annotated[bool, pydantic.Field(alias="forcePasswordChange")]
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
Optional[bool], pydantic.Field(alias="forcePasswordChange")
|
|
20
|
-
] = None
|
|
17
|
+
token: str
|
|
@@ -14,7 +14,7 @@ from typing import List, Optional
|
|
|
14
14
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class
|
|
17
|
+
class ConfigGroupEstimatedIngestRate(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
18
18
|
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
19
19
|
|
|
20
20
|
# 12 MB/sec
|
|
@@ -37,13 +37,13 @@ class EstimatedIngestRate(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
37
37
|
RATE180_MB_PER_SEC = 15360
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
class
|
|
40
|
+
class ConfigGroupGitTypedDict(TypedDict):
|
|
41
41
|
commit: NotRequired[str]
|
|
42
42
|
local_changes: NotRequired[float]
|
|
43
43
|
log: NotRequired[List[CommitTypedDict]]
|
|
44
44
|
|
|
45
45
|
|
|
46
|
-
class
|
|
46
|
+
class ConfigGroupGit(BaseModel):
|
|
47
47
|
commit: Optional[str] = None
|
|
48
48
|
|
|
49
49
|
local_changes: Annotated[Optional[float], pydantic.Field(alias="localChanges")] = (
|
|
@@ -63,9 +63,9 @@ class ConfigGroupTypedDict(TypedDict):
|
|
|
63
63
|
config_version: NotRequired[str]
|
|
64
64
|
deploying_worker_count: NotRequired[float]
|
|
65
65
|
description: NotRequired[str]
|
|
66
|
-
estimated_ingest_rate: NotRequired[
|
|
66
|
+
estimated_ingest_rate: NotRequired[ConfigGroupEstimatedIngestRate]
|
|
67
67
|
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
68
|
-
git: NotRequired[
|
|
68
|
+
git: NotRequired[ConfigGroupGitTypedDict]
|
|
69
69
|
incompatible_worker_count: NotRequired[float]
|
|
70
70
|
inherits: NotRequired[str]
|
|
71
71
|
is_fleet: NotRequired[bool]
|
|
@@ -100,13 +100,14 @@ class ConfigGroup(BaseModel):
|
|
|
100
100
|
|
|
101
101
|
estimated_ingest_rate: Annotated[
|
|
102
102
|
Annotated[
|
|
103
|
-
Optional[
|
|
103
|
+
Optional[ConfigGroupEstimatedIngestRate],
|
|
104
|
+
PlainValidator(validate_open_enum(True)),
|
|
104
105
|
],
|
|
105
106
|
pydantic.Field(alias="estimatedIngestRate"),
|
|
106
107
|
] = None
|
|
107
108
|
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
108
109
|
|
|
109
|
-
git: Optional[
|
|
110
|
+
git: Optional[ConfigGroupGit] = None
|
|
110
111
|
|
|
111
112
|
incompatible_worker_count: Annotated[
|
|
112
113
|
Optional[float], pydantic.Field(alias="incompatibleWorkerCount")
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .configgroup import ConfigGroup, ConfigGroupTypedDict
|
|
5
|
+
from .groupcreaterequest import GroupCreateRequest, GroupCreateRequestTypedDict
|
|
5
6
|
from .productscore import ProductsCore
|
|
6
7
|
from cribl_control_plane.types import BaseModel
|
|
7
8
|
from cribl_control_plane.utils import (
|
|
@@ -18,8 +19,8 @@ from typing_extensions import Annotated, NotRequired, TypedDict
|
|
|
18
19
|
class CreateConfigGroupByProductRequestTypedDict(TypedDict):
|
|
19
20
|
product: ProductsCore
|
|
20
21
|
r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
|
|
21
|
-
|
|
22
|
-
r"""
|
|
22
|
+
group_create_request: GroupCreateRequestTypedDict
|
|
23
|
+
r"""GroupCreateRequest object"""
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class CreateConfigGroupByProductRequest(BaseModel):
|
|
@@ -29,11 +30,11 @@ class CreateConfigGroupByProductRequest(BaseModel):
|
|
|
29
30
|
]
|
|
30
31
|
r"""Name of the Cribl product to add the Worker Group or Edge Fleet to."""
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
group_create_request: Annotated[
|
|
34
|
+
GroupCreateRequest,
|
|
34
35
|
FieldMetadata(request=RequestMetadata(media_type="application/json")),
|
|
35
36
|
]
|
|
36
|
-
r"""
|
|
37
|
+
r"""GroupCreateRequest object"""
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
class CreateConfigGroupByProductResponseTypedDict(TypedDict):
|
|
@@ -11,7 +11,7 @@ from typing_extensions import Annotated, NotRequired, TypedDict
|
|
|
11
11
|
|
|
12
12
|
class CreateRoutesAppendByIDRequestTypedDict(TypedDict):
|
|
13
13
|
id: str
|
|
14
|
-
r"""The <code>id</code> of the Routing table to
|
|
14
|
+
r"""The <code>id</code> of the Routing table to add the Route to. The supported value is <code>default</code>."""
|
|
15
15
|
request_body: List[RouteConfTypedDict]
|
|
16
16
|
r"""RouteDefinitions object"""
|
|
17
17
|
|
|
@@ -20,7 +20,7 @@ class CreateRoutesAppendByIDRequest(BaseModel):
|
|
|
20
20
|
id: Annotated[
|
|
21
21
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
22
22
|
]
|
|
23
|
-
r"""The <code>id</code> of the Routing table to
|
|
23
|
+
r"""The <code>id</code> of the Routing table to add the Route to. The supported value is <code>default</code>."""
|
|
24
24
|
|
|
25
25
|
request_body: Annotated[
|
|
26
26
|
List[RouteConf],
|
|
@@ -20,7 +20,7 @@ class DeleteOutputPqByIDRequest(BaseModel):
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class DeleteOutputPqByIDResponseTypedDict(TypedDict):
|
|
23
|
-
r"""
|
|
23
|
+
r"""A list of job ids for the background job that clears the persistent queue"""
|
|
24
24
|
|
|
25
25
|
count: NotRequired[int]
|
|
26
26
|
r"""number of items present in the items array"""
|
|
@@ -28,7 +28,7 @@ class DeleteOutputPqByIDResponseTypedDict(TypedDict):
|
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
class DeleteOutputPqByIDResponse(BaseModel):
|
|
31
|
-
r"""
|
|
31
|
+
r"""A list of job ids for the background job that clears the persistent queue"""
|
|
32
32
|
|
|
33
33
|
count: Optional[int] = None
|
|
34
34
|
r"""number of items present in the items array"""
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .commit import Commit, CommitTypedDict
|
|
5
|
+
from .configgroupcloud import ConfigGroupCloud, ConfigGroupCloudTypedDict
|
|
6
|
+
from .configgrouplookups import ConfigGroupLookups, ConfigGroupLookupsTypedDict
|
|
7
|
+
from cribl_control_plane import utils
|
|
8
|
+
from cribl_control_plane.types import BaseModel
|
|
9
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
10
|
+
from enum import Enum
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic.functional_validators import PlainValidator
|
|
13
|
+
from typing import List, Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class GroupCreateRequestEstimatedIngestRate(int, Enum, metaclass=utils.OpenEnumMeta):
|
|
18
|
+
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
19
|
+
|
|
20
|
+
# 12 MB/sec
|
|
21
|
+
RATE12_MB_PER_SEC = 1024
|
|
22
|
+
# 24 MB/sec
|
|
23
|
+
RATE24_MB_PER_SEC = 2048
|
|
24
|
+
# 36 MB/sec
|
|
25
|
+
RATE36_MB_PER_SEC = 3072
|
|
26
|
+
# 48 MB/sec
|
|
27
|
+
RATE48_MB_PER_SEC = 4096
|
|
28
|
+
# 60 MB/sec
|
|
29
|
+
RATE60_MB_PER_SEC = 5120
|
|
30
|
+
# 84 MB/sec
|
|
31
|
+
RATE84_MB_PER_SEC = 7168
|
|
32
|
+
# 120 MB/sec
|
|
33
|
+
RATE120_MB_PER_SEC = 10240
|
|
34
|
+
# 156 MB/sec
|
|
35
|
+
RATE156_MB_PER_SEC = 13312
|
|
36
|
+
# 180 MB/sec
|
|
37
|
+
RATE180_MB_PER_SEC = 15360
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class GroupCreateRequestGitTypedDict(TypedDict):
|
|
41
|
+
commit: NotRequired[str]
|
|
42
|
+
local_changes: NotRequired[float]
|
|
43
|
+
log: NotRequired[List[CommitTypedDict]]
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class GroupCreateRequestGit(BaseModel):
|
|
47
|
+
commit: Optional[str] = None
|
|
48
|
+
|
|
49
|
+
local_changes: Annotated[Optional[float], pydantic.Field(alias="localChanges")] = (
|
|
50
|
+
None
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
log: Optional[List[Commit]] = None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class GroupCreateRequestType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
57
|
+
LAKE_ACCESS = "lake_access"
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class GroupCreateRequestTypedDict(TypedDict):
|
|
61
|
+
id: str
|
|
62
|
+
cloud: NotRequired[ConfigGroupCloudTypedDict]
|
|
63
|
+
deploying_worker_count: NotRequired[float]
|
|
64
|
+
description: NotRequired[str]
|
|
65
|
+
estimated_ingest_rate: NotRequired[GroupCreateRequestEstimatedIngestRate]
|
|
66
|
+
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
67
|
+
git: NotRequired[GroupCreateRequestGitTypedDict]
|
|
68
|
+
incompatible_worker_count: NotRequired[float]
|
|
69
|
+
inherits: NotRequired[str]
|
|
70
|
+
is_fleet: NotRequired[bool]
|
|
71
|
+
is_search: NotRequired[bool]
|
|
72
|
+
lookup_deployments: NotRequired[List[ConfigGroupLookupsTypedDict]]
|
|
73
|
+
max_worker_age: NotRequired[str]
|
|
74
|
+
name: NotRequired[str]
|
|
75
|
+
on_prem: NotRequired[bool]
|
|
76
|
+
provisioned: NotRequired[bool]
|
|
77
|
+
source_group_id: NotRequired[str]
|
|
78
|
+
streamtags: NotRequired[List[str]]
|
|
79
|
+
tags: NotRequired[str]
|
|
80
|
+
type: NotRequired[GroupCreateRequestType]
|
|
81
|
+
upgrade_version: NotRequired[str]
|
|
82
|
+
worker_count: NotRequired[float]
|
|
83
|
+
worker_remote_access: NotRequired[bool]
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class GroupCreateRequest(BaseModel):
|
|
87
|
+
id: str
|
|
88
|
+
|
|
89
|
+
cloud: Optional[ConfigGroupCloud] = None
|
|
90
|
+
|
|
91
|
+
deploying_worker_count: Annotated[
|
|
92
|
+
Optional[float], pydantic.Field(alias="deployingWorkerCount")
|
|
93
|
+
] = None
|
|
94
|
+
|
|
95
|
+
description: Optional[str] = None
|
|
96
|
+
|
|
97
|
+
estimated_ingest_rate: Annotated[
|
|
98
|
+
Annotated[
|
|
99
|
+
Optional[GroupCreateRequestEstimatedIngestRate],
|
|
100
|
+
PlainValidator(validate_open_enum(True)),
|
|
101
|
+
],
|
|
102
|
+
pydantic.Field(alias="estimatedIngestRate"),
|
|
103
|
+
] = None
|
|
104
|
+
r"""Maximum expected volume of data ingested by the @{group}. (This setting is available only on @{group}s consisting of Cribl-managed Cribl.Cloud @{node}s.)"""
|
|
105
|
+
|
|
106
|
+
git: Optional[GroupCreateRequestGit] = None
|
|
107
|
+
|
|
108
|
+
incompatible_worker_count: Annotated[
|
|
109
|
+
Optional[float], pydantic.Field(alias="incompatibleWorkerCount")
|
|
110
|
+
] = None
|
|
111
|
+
|
|
112
|
+
inherits: Optional[str] = None
|
|
113
|
+
|
|
114
|
+
is_fleet: Annotated[Optional[bool], pydantic.Field(alias="isFleet")] = None
|
|
115
|
+
|
|
116
|
+
is_search: Annotated[Optional[bool], pydantic.Field(alias="isSearch")] = None
|
|
117
|
+
|
|
118
|
+
lookup_deployments: Annotated[
|
|
119
|
+
Optional[List[ConfigGroupLookups]], pydantic.Field(alias="lookupDeployments")
|
|
120
|
+
] = None
|
|
121
|
+
|
|
122
|
+
max_worker_age: Annotated[Optional[str], pydantic.Field(alias="maxWorkerAge")] = (
|
|
123
|
+
None
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
name: Optional[str] = None
|
|
127
|
+
|
|
128
|
+
on_prem: Annotated[Optional[bool], pydantic.Field(alias="onPrem")] = None
|
|
129
|
+
|
|
130
|
+
provisioned: Optional[bool] = None
|
|
131
|
+
|
|
132
|
+
source_group_id: Annotated[Optional[str], pydantic.Field(alias="sourceGroupId")] = (
|
|
133
|
+
None
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
streamtags: Optional[List[str]] = None
|
|
137
|
+
|
|
138
|
+
tags: Optional[str] = None
|
|
139
|
+
|
|
140
|
+
type: Annotated[
|
|
141
|
+
Optional[GroupCreateRequestType], PlainValidator(validate_open_enum(False))
|
|
142
|
+
] = None
|
|
143
|
+
|
|
144
|
+
upgrade_version: Annotated[
|
|
145
|
+
Optional[str], pydantic.Field(alias="upgradeVersion")
|
|
146
|
+
] = None
|
|
147
|
+
|
|
148
|
+
worker_count: Annotated[Optional[float], pydantic.Field(alias="workerCount")] = None
|
|
149
|
+
|
|
150
|
+
worker_remote_access: Annotated[
|
|
151
|
+
Optional[bool], pydantic.Field(alias="workerRemoteAccess")
|
|
152
|
+
] = None
|
|
@@ -12,25 +12,25 @@ from typing_extensions import Annotated, NotRequired, TypedDict
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class Role(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
15
|
-
PRIMARY = "primary"
|
|
16
15
|
STANDBY = "standby"
|
|
16
|
+
PRIMARY = "primary"
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class Status(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
HEALTHY = "healthy"
|
|
21
20
|
SHUTTING_DOWN = "shutting down"
|
|
21
|
+
HEALTHY = "healthy"
|
|
22
22
|
STANDBY = "standby"
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
class
|
|
26
|
-
status: Status
|
|
25
|
+
class HealthServerStatusTypedDict(TypedDict):
|
|
27
26
|
start_time: float
|
|
27
|
+
status: Status
|
|
28
28
|
role: NotRequired[Role]
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
class
|
|
32
|
-
status: Annotated[Status, PlainValidator(validate_open_enum(False))]
|
|
33
|
-
|
|
31
|
+
class HealthServerStatus(BaseModel):
|
|
34
32
|
start_time: Annotated[float, pydantic.Field(alias="startTime")]
|
|
35
33
|
|
|
34
|
+
status: Annotated[Status, PlainValidator(validate_open_enum(False))]
|
|
35
|
+
|
|
36
36
|
role: Annotated[Optional[Role], PlainValidator(validate_open_enum(False))] = None
|
|
@@ -75,59 +75,59 @@ from typing_extensions import Annotated, TypeAliasType
|
|
|
75
75
|
InputTypedDict = TypeAliasType(
|
|
76
76
|
"InputTypedDict",
|
|
77
77
|
Union[
|
|
78
|
-
InputDatagenTypedDict,
|
|
79
|
-
InputKubeEventsTypedDict,
|
|
80
78
|
InputCriblTypedDict,
|
|
79
|
+
InputKubeEventsTypedDict,
|
|
80
|
+
InputDatagenTypedDict,
|
|
81
81
|
InputCriblmetricsTypedDict,
|
|
82
82
|
InputKubeMetricsTypedDict,
|
|
83
|
-
InputCollectionTypedDict,
|
|
84
83
|
InputSystemStateTypedDict,
|
|
84
|
+
InputCollectionTypedDict,
|
|
85
85
|
InputModelDrivenTelemetryTypedDict,
|
|
86
86
|
InputSystemMetricsTypedDict,
|
|
87
87
|
InputWindowsMetricsTypedDict,
|
|
88
88
|
InputJournalFilesTypedDict,
|
|
89
|
-
InputWinEventLogsTypedDict,
|
|
90
89
|
InputRawUDPTypedDict,
|
|
91
|
-
InputExecTypedDict,
|
|
92
90
|
InputKubeLogsTypedDict,
|
|
93
|
-
|
|
91
|
+
InputExecTypedDict,
|
|
94
92
|
InputSnmpTypedDict,
|
|
93
|
+
InputMetricsTypedDict,
|
|
94
|
+
InputWinEventLogsTypedDict,
|
|
95
95
|
InputCriblTCPTypedDict,
|
|
96
96
|
InputNetflowTypedDict,
|
|
97
97
|
InputTcpjsonTypedDict,
|
|
98
98
|
InputGooglePubsubTypedDict,
|
|
99
99
|
InputOffice365ServiceTypedDict,
|
|
100
100
|
InputWizTypedDict,
|
|
101
|
-
InputTCPTypedDict,
|
|
102
101
|
InputFirehoseTypedDict,
|
|
103
102
|
InputCriblHTTPTypedDict,
|
|
104
103
|
InputDatadogAgentTypedDict,
|
|
105
104
|
InputOffice365MgmtTypedDict,
|
|
106
|
-
|
|
105
|
+
InputTCPTypedDict,
|
|
107
106
|
InputSplunkTypedDict,
|
|
108
|
-
|
|
107
|
+
InputFileTypedDict,
|
|
109
108
|
InputAppscopeTypedDict,
|
|
109
|
+
InputWefTypedDict,
|
|
110
110
|
InputHTTPRawTypedDict,
|
|
111
111
|
InputWizWebhookTypedDict,
|
|
112
|
-
InputHTTPTypedDict,
|
|
113
112
|
InputCriblLakeHTTPTypedDict,
|
|
114
|
-
|
|
115
|
-
InputSqsTypedDict,
|
|
113
|
+
InputHTTPTypedDict,
|
|
116
114
|
InputZscalerHecTypedDict,
|
|
115
|
+
InputSqsTypedDict,
|
|
116
|
+
InputAzureBlobTypedDict,
|
|
117
117
|
InputKinesisTypedDict,
|
|
118
118
|
InputConfluentCloudTypedDict,
|
|
119
119
|
InputEventhubTypedDict,
|
|
120
120
|
InputKafkaTypedDict,
|
|
121
121
|
InputElasticTypedDict,
|
|
122
|
-
InputOffice365MsgTraceTypedDict,
|
|
123
122
|
InputSplunkHecTypedDict,
|
|
123
|
+
InputOffice365MsgTraceTypedDict,
|
|
124
124
|
InputLokiTypedDict,
|
|
125
125
|
InputPrometheusRwTypedDict,
|
|
126
|
-
InputPrometheusTypedDict,
|
|
127
126
|
InputCrowdstrikeTypedDict,
|
|
128
|
-
|
|
127
|
+
InputPrometheusTypedDict,
|
|
129
128
|
InputOpenTelemetryTypedDict,
|
|
130
129
|
InputS3TypedDict,
|
|
130
|
+
InputEdgePrometheusTypedDict,
|
|
131
131
|
InputSecurityLakeTypedDict,
|
|
132
132
|
InputMskTypedDict,
|
|
133
133
|
InputS3InventoryTypedDict,
|
|
@@ -7,7 +7,7 @@ from cribl_control_plane.utils import validate_open_enum
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
9
|
from pydantic.functional_validators import PlainValidator
|
|
10
|
-
from typing import
|
|
10
|
+
from typing import List, Optional
|
|
11
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
12
|
|
|
13
13
|
|
|
@@ -221,6 +221,12 @@ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
221
221
|
|
|
222
222
|
class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
|
|
223
223
|
disabled: NotRequired[bool]
|
|
224
|
+
request_cert: NotRequired[bool]
|
|
225
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
226
|
+
reject_unauthorized: NotRequired[bool]
|
|
227
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
228
|
+
common_name_regex: NotRequired[str]
|
|
229
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
224
230
|
certificate_name: NotRequired[str]
|
|
225
231
|
r"""The name of the predefined certificate"""
|
|
226
232
|
priv_key_path: NotRequired[str]
|
|
@@ -231,10 +237,6 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
231
237
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
232
238
|
ca_path: NotRequired[str]
|
|
233
239
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
234
|
-
request_cert: NotRequired[bool]
|
|
235
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
236
|
-
reject_unauthorized: NotRequired[Any]
|
|
237
|
-
common_name_regex: NotRequired[Any]
|
|
238
240
|
min_version: NotRequired[InputAppscopeMinimumTLSVersion]
|
|
239
241
|
max_version: NotRequired[InputAppscopeMaximumTLSVersion]
|
|
240
242
|
|
|
@@ -242,6 +244,19 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
242
244
|
class InputAppscopeTLSSettingsServerSide(BaseModel):
|
|
243
245
|
disabled: Optional[bool] = True
|
|
244
246
|
|
|
247
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
248
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
249
|
+
|
|
250
|
+
reject_unauthorized: Annotated[
|
|
251
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
252
|
+
] = True
|
|
253
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
254
|
+
|
|
255
|
+
common_name_regex: Annotated[
|
|
256
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
257
|
+
] = "/.*/"
|
|
258
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
259
|
+
|
|
245
260
|
certificate_name: Annotated[
|
|
246
261
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
247
262
|
] = None
|
|
@@ -259,17 +274,6 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
|
|
|
259
274
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
260
275
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
261
276
|
|
|
262
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
263
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
264
|
-
|
|
265
|
-
reject_unauthorized: Annotated[
|
|
266
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
267
|
-
] = None
|
|
268
|
-
|
|
269
|
-
common_name_regex: Annotated[
|
|
270
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
271
|
-
] = None
|
|
272
|
-
|
|
273
277
|
min_version: Annotated[
|
|
274
278
|
Annotated[
|
|
275
279
|
Optional[InputAppscopeMinimumTLSVersion],
|
|
@@ -341,6 +341,13 @@ class InputConfluentCloudKafkaSchemaRegistryAuthentication(BaseModel):
|
|
|
341
341
|
tls: Optional[InputConfluentCloudKafkaSchemaRegistryTLSSettingsClientSide] = None
|
|
342
342
|
|
|
343
343
|
|
|
344
|
+
class InputConfluentCloudAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
345
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
346
|
+
|
|
347
|
+
MANUAL = "manual"
|
|
348
|
+
SECRET = "secret"
|
|
349
|
+
|
|
350
|
+
|
|
344
351
|
class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
345
352
|
# PLAIN
|
|
346
353
|
PLAIN = "plain"
|
|
@@ -352,13 +359,58 @@ class InputConfluentCloudSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
352
359
|
KERBEROS = "kerberos"
|
|
353
360
|
|
|
354
361
|
|
|
362
|
+
class InputConfluentCloudOauthParamTypedDict(TypedDict):
|
|
363
|
+
name: str
|
|
364
|
+
value: str
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
class InputConfluentCloudOauthParam(BaseModel):
|
|
368
|
+
name: str
|
|
369
|
+
|
|
370
|
+
value: str
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
class InputConfluentCloudSaslExtensionTypedDict(TypedDict):
|
|
374
|
+
name: str
|
|
375
|
+
value: str
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
class InputConfluentCloudSaslExtension(BaseModel):
|
|
379
|
+
name: str
|
|
380
|
+
|
|
381
|
+
value: str
|
|
382
|
+
|
|
383
|
+
|
|
355
384
|
class InputConfluentCloudAuthenticationTypedDict(TypedDict):
|
|
356
385
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
357
386
|
|
|
358
387
|
disabled: NotRequired[bool]
|
|
388
|
+
username: NotRequired[str]
|
|
389
|
+
password: NotRequired[str]
|
|
390
|
+
auth_type: NotRequired[InputConfluentCloudAuthenticationMethod]
|
|
391
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
392
|
+
credentials_secret: NotRequired[str]
|
|
393
|
+
r"""Select or create a secret that references your credentials"""
|
|
359
394
|
mechanism: NotRequired[InputConfluentCloudSASLMechanism]
|
|
395
|
+
keytab_location: NotRequired[str]
|
|
396
|
+
r"""Location of keytab file for authentication principal"""
|
|
397
|
+
principal: NotRequired[str]
|
|
398
|
+
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
399
|
+
broker_service_class: NotRequired[str]
|
|
400
|
+
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
360
401
|
oauth_enabled: NotRequired[bool]
|
|
361
402
|
r"""Enable OAuth authentication"""
|
|
403
|
+
token_url: NotRequired[str]
|
|
404
|
+
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
405
|
+
client_id: NotRequired[str]
|
|
406
|
+
r"""Client ID to use for OAuth authentication"""
|
|
407
|
+
oauth_secret_type: NotRequired[str]
|
|
408
|
+
client_text_secret: NotRequired[str]
|
|
409
|
+
r"""Select or create a stored text secret"""
|
|
410
|
+
oauth_params: NotRequired[List[InputConfluentCloudOauthParamTypedDict]]
|
|
411
|
+
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
412
|
+
sasl_extensions: NotRequired[List[InputConfluentCloudSaslExtensionTypedDict]]
|
|
413
|
+
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
362
414
|
|
|
363
415
|
|
|
364
416
|
class InputConfluentCloudAuthentication(BaseModel):
|
|
@@ -366,16 +418,74 @@ class InputConfluentCloudAuthentication(BaseModel):
|
|
|
366
418
|
|
|
367
419
|
disabled: Optional[bool] = True
|
|
368
420
|
|
|
421
|
+
username: Optional[str] = None
|
|
422
|
+
|
|
423
|
+
password: Optional[str] = None
|
|
424
|
+
|
|
425
|
+
auth_type: Annotated[
|
|
426
|
+
Annotated[
|
|
427
|
+
Optional[InputConfluentCloudAuthenticationMethod],
|
|
428
|
+
PlainValidator(validate_open_enum(False)),
|
|
429
|
+
],
|
|
430
|
+
pydantic.Field(alias="authType"),
|
|
431
|
+
] = InputConfluentCloudAuthenticationMethod.MANUAL
|
|
432
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
433
|
+
|
|
434
|
+
credentials_secret: Annotated[
|
|
435
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
436
|
+
] = None
|
|
437
|
+
r"""Select or create a secret that references your credentials"""
|
|
438
|
+
|
|
369
439
|
mechanism: Annotated[
|
|
370
440
|
Optional[InputConfluentCloudSASLMechanism],
|
|
371
441
|
PlainValidator(validate_open_enum(False)),
|
|
372
442
|
] = InputConfluentCloudSASLMechanism.PLAIN
|
|
373
443
|
|
|
444
|
+
keytab_location: Annotated[
|
|
445
|
+
Optional[str], pydantic.Field(alias="keytabLocation")
|
|
446
|
+
] = None
|
|
447
|
+
r"""Location of keytab file for authentication principal"""
|
|
448
|
+
|
|
449
|
+
principal: Optional[str] = None
|
|
450
|
+
r"""Authentication principal, such as `kafka_user@example.com`"""
|
|
451
|
+
|
|
452
|
+
broker_service_class: Annotated[
|
|
453
|
+
Optional[str], pydantic.Field(alias="brokerServiceClass")
|
|
454
|
+
] = None
|
|
455
|
+
r"""Kerberos service class for Kafka brokers, such as `kafka`"""
|
|
456
|
+
|
|
374
457
|
oauth_enabled: Annotated[Optional[bool], pydantic.Field(alias="oauthEnabled")] = (
|
|
375
458
|
False
|
|
376
459
|
)
|
|
377
460
|
r"""Enable OAuth authentication"""
|
|
378
461
|
|
|
462
|
+
token_url: Annotated[Optional[str], pydantic.Field(alias="tokenUrl")] = None
|
|
463
|
+
r"""URL of the token endpoint to use for OAuth authentication"""
|
|
464
|
+
|
|
465
|
+
client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
|
|
466
|
+
r"""Client ID to use for OAuth authentication"""
|
|
467
|
+
|
|
468
|
+
oauth_secret_type: Annotated[
|
|
469
|
+
Optional[str], pydantic.Field(alias="oauthSecretType")
|
|
470
|
+
] = "secret"
|
|
471
|
+
|
|
472
|
+
client_text_secret: Annotated[
|
|
473
|
+
Optional[str], pydantic.Field(alias="clientTextSecret")
|
|
474
|
+
] = None
|
|
475
|
+
r"""Select or create a stored text secret"""
|
|
476
|
+
|
|
477
|
+
oauth_params: Annotated[
|
|
478
|
+
Optional[List[InputConfluentCloudOauthParam]],
|
|
479
|
+
pydantic.Field(alias="oauthParams"),
|
|
480
|
+
] = None
|
|
481
|
+
r"""Additional fields to send to the token endpoint, such as scope or audience"""
|
|
482
|
+
|
|
483
|
+
sasl_extensions: Annotated[
|
|
484
|
+
Optional[List[InputConfluentCloudSaslExtension]],
|
|
485
|
+
pydantic.Field(alias="saslExtensions"),
|
|
486
|
+
] = None
|
|
487
|
+
r"""Additional SASL extension fields, such as Confluent's logicalCluster or identityPoolId"""
|
|
488
|
+
|
|
379
489
|
|
|
380
490
|
class InputConfluentCloudMetadatumTypedDict(TypedDict):
|
|
381
491
|
name: str
|