cribl-control-plane 0.0.28__py3-none-any.whl → 0.0.30__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/acl.py +30 -20
- cribl_control_plane/branches.py +4 -8
- cribl_control_plane/configs_versions.py +22 -16
- cribl_control_plane/groups_sdk.py +464 -428
- cribl_control_plane/models/__init__.py +204 -177
- cribl_control_plane/models/{createproductsgroupsbyproductop.py → createconfiggroupbyproductop.py} +10 -10
- cribl_control_plane/models/currentbranchresult.py +13 -0
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +53 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +78 -0
- cribl_control_plane/models/{getproductsgroupsaclteamsbyproductandidop.py → getconfiggroupaclteamsbyproductandidop.py} +15 -15
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +65 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +52 -0
- cribl_control_plane/models/{getsummaryworkersop.py → getmasterworkerentryop.py} +4 -4
- cribl_control_plane/models/gitcommitsummary.py +3 -3
- cribl_control_plane/models/gitstatusresult.py +0 -3
- cribl_control_plane/models/input.py +30 -30
- cribl_control_plane/models/inputcribllakehttp.py +63 -0
- cribl_control_plane/models/inputcrowdstrike.py +7 -0
- cribl_control_plane/models/inputs3.py +7 -0
- cribl_control_plane/models/inputs3inventory.py +7 -0
- cribl_control_plane/models/inputsecuritylake.py +7 -0
- cribl_control_plane/models/{getproductsgroupsbyproductop.py → listconfiggroupbyproductop.py} +12 -12
- cribl_control_plane/models/{getworkersop.py → listmasterworkerentryop.py} +4 -4
- cribl_control_plane/models/{updategroupsbyidop.py → updateconfiggroupbyproductandidop.py} +22 -6
- cribl_control_plane/models/{updategroupsdeploybyidop.py → updateconfiggroupdeploybyproductandidop.py} +22 -6
- cribl_control_plane/nodes.py +70 -62
- cribl_control_plane/teams.py +20 -20
- {cribl_control_plane-0.0.28.dist-info → cribl_control_plane-0.0.30.dist-info}/METADATA +8 -8
- {cribl_control_plane-0.0.28.dist-info → cribl_control_plane-0.0.30.dist-info}/RECORD +31 -31
- cribl_control_plane/models/deletegroupsbyidop.py +0 -37
- cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
- cribl_control_plane/models/getgroupsbyidop.py +0 -49
- cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
- cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
- {cribl_control_plane-0.0.28.dist-info → cribl_control_plane-0.0.30.dist-info}/WHEEL +0 -0
|
@@ -174,6 +174,37 @@ class InputCriblLakeHTTPMetadatum(BaseModel):
|
|
|
174
174
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
175
175
|
|
|
176
176
|
|
|
177
|
+
class InputCriblLakeHTTPAuthTokensExtMetadatumTypedDict(TypedDict):
|
|
178
|
+
name: str
|
|
179
|
+
value: str
|
|
180
|
+
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
class InputCriblLakeHTTPAuthTokensExtMetadatum(BaseModel):
|
|
184
|
+
name: str
|
|
185
|
+
|
|
186
|
+
value: str
|
|
187
|
+
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class InputCriblLakeHTTPAuthTokensExtTypedDict(TypedDict):
|
|
191
|
+
token: str
|
|
192
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
193
|
+
description: NotRequired[str]
|
|
194
|
+
metadata: NotRequired[List[InputCriblLakeHTTPAuthTokensExtMetadatumTypedDict]]
|
|
195
|
+
r"""Fields to add to events referencing this token"""
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class InputCriblLakeHTTPAuthTokensExt(BaseModel):
|
|
199
|
+
token: str
|
|
200
|
+
r"""Shared secret to be provided by any client (Authorization: <token>)"""
|
|
201
|
+
|
|
202
|
+
description: Optional[str] = None
|
|
203
|
+
|
|
204
|
+
metadata: Optional[List[InputCriblLakeHTTPAuthTokensExtMetadatum]] = None
|
|
205
|
+
r"""Fields to add to events referencing this token"""
|
|
206
|
+
|
|
207
|
+
|
|
177
208
|
class InputCriblLakeHTTPTypedDict(TypedDict):
|
|
178
209
|
type: InputCriblLakeHTTPType
|
|
179
210
|
port: float
|
|
@@ -221,8 +252,17 @@ class InputCriblLakeHTTPTypedDict(TypedDict):
|
|
|
221
252
|
r"""Messages from matched IP addresses will be processed, unless also matched by the denylist"""
|
|
222
253
|
ip_denylist_regex: NotRequired[str]
|
|
223
254
|
r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
|
|
255
|
+
cribl_api: NotRequired[str]
|
|
256
|
+
r"""Absolute path on which to listen for the Cribl HTTP API requests. Only _bulk (default /cribl/_bulk) is available. Use empty string to disable."""
|
|
257
|
+
elastic_api: NotRequired[str]
|
|
258
|
+
r"""Absolute path on which to listen for the Elasticsearch API requests. Only _bulk (default /elastic/_bulk) is available. Use empty string to disable."""
|
|
259
|
+
splunk_hec_api: NotRequired[str]
|
|
260
|
+
r"""Absolute path on which listen for the Splunk HTTP Event Collector API requests. Use empty string to disable."""
|
|
261
|
+
splunk_hec_acks: NotRequired[bool]
|
|
224
262
|
metadata: NotRequired[List[InputCriblLakeHTTPMetadatumTypedDict]]
|
|
225
263
|
r"""Fields to add to events from this input"""
|
|
264
|
+
auth_tokens_ext: NotRequired[List[InputCriblLakeHTTPAuthTokensExtTypedDict]]
|
|
265
|
+
r"""Shared secrets to be provided by any client (Authorization: <token>). If empty, unauthorized access is permitted."""
|
|
226
266
|
description: NotRequired[str]
|
|
227
267
|
|
|
228
268
|
|
|
@@ -324,7 +364,30 @@ class InputCriblLakeHTTP(BaseModel):
|
|
|
324
364
|
] = "/^$/"
|
|
325
365
|
r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
|
|
326
366
|
|
|
367
|
+
cribl_api: Annotated[Optional[str], pydantic.Field(alias="criblAPI")] = "/cribl"
|
|
368
|
+
r"""Absolute path on which to listen for the Cribl HTTP API requests. Only _bulk (default /cribl/_bulk) is available. Use empty string to disable."""
|
|
369
|
+
|
|
370
|
+
elastic_api: Annotated[Optional[str], pydantic.Field(alias="elasticAPI")] = (
|
|
371
|
+
"/elastic"
|
|
372
|
+
)
|
|
373
|
+
r"""Absolute path on which to listen for the Elasticsearch API requests. Only _bulk (default /elastic/_bulk) is available. Use empty string to disable."""
|
|
374
|
+
|
|
375
|
+
splunk_hec_api: Annotated[Optional[str], pydantic.Field(alias="splunkHecAPI")] = (
|
|
376
|
+
"/services/collector"
|
|
377
|
+
)
|
|
378
|
+
r"""Absolute path on which listen for the Splunk HTTP Event Collector API requests. Use empty string to disable."""
|
|
379
|
+
|
|
380
|
+
splunk_hec_acks: Annotated[
|
|
381
|
+
Optional[bool], pydantic.Field(alias="splunkHecAcks")
|
|
382
|
+
] = False
|
|
383
|
+
|
|
327
384
|
metadata: Optional[List[InputCriblLakeHTTPMetadatum]] = None
|
|
328
385
|
r"""Fields to add to events from this input"""
|
|
329
386
|
|
|
387
|
+
auth_tokens_ext: Annotated[
|
|
388
|
+
Optional[List[InputCriblLakeHTTPAuthTokensExt]],
|
|
389
|
+
pydantic.Field(alias="authTokensExt"),
|
|
390
|
+
] = None
|
|
391
|
+
r"""Shared secrets to be provided by any client (Authorization: <token>). If empty, unauthorized access is permitted."""
|
|
392
|
+
|
|
330
393
|
description: Optional[str] = None
|
|
@@ -200,6 +200,8 @@ class InputCrowdstrikeTypedDict(TypedDict):
|
|
|
200
200
|
r"""Socket inactivity timeout (in seconds). Increase this value if timeouts occur due to backpressure."""
|
|
201
201
|
skip_on_error: NotRequired[bool]
|
|
202
202
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
203
|
+
include_sqs_metadata: NotRequired[bool]
|
|
204
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
203
205
|
enable_assume_role: NotRequired[bool]
|
|
204
206
|
r"""Use Assume Role credentials to access Amazon S3"""
|
|
205
207
|
assume_role_arn: NotRequired[str]
|
|
@@ -333,6 +335,11 @@ class InputCrowdstrike(BaseModel):
|
|
|
333
335
|
)
|
|
334
336
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
335
337
|
|
|
338
|
+
include_sqs_metadata: Annotated[
|
|
339
|
+
Optional[bool], pydantic.Field(alias="includeSqsMetadata")
|
|
340
|
+
] = False
|
|
341
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
342
|
+
|
|
336
343
|
enable_assume_role: Annotated[
|
|
337
344
|
Optional[bool], pydantic.Field(alias="enableAssumeRole")
|
|
338
345
|
] = True
|
|
@@ -195,6 +195,8 @@ class InputS3TypedDict(TypedDict):
|
|
|
195
195
|
r"""Socket inactivity timeout (in seconds). Increase this value if timeouts occur due to backpressure."""
|
|
196
196
|
skip_on_error: NotRequired[bool]
|
|
197
197
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
198
|
+
include_sqs_metadata: NotRequired[bool]
|
|
199
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
198
200
|
enable_assume_role: NotRequired[bool]
|
|
199
201
|
r"""Use Assume Role credentials to access Amazon S3"""
|
|
200
202
|
assume_role_arn: NotRequired[str]
|
|
@@ -332,6 +334,11 @@ class InputS3(BaseModel):
|
|
|
332
334
|
)
|
|
333
335
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
334
336
|
|
|
337
|
+
include_sqs_metadata: Annotated[
|
|
338
|
+
Optional[bool], pydantic.Field(alias="includeSqsMetadata")
|
|
339
|
+
] = False
|
|
340
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
341
|
+
|
|
335
342
|
enable_assume_role: Annotated[
|
|
336
343
|
Optional[bool], pydantic.Field(alias="enableAssumeRole")
|
|
337
344
|
] = True
|
|
@@ -200,6 +200,8 @@ class InputS3InventoryTypedDict(TypedDict):
|
|
|
200
200
|
r"""Socket inactivity timeout (in seconds). Increase this value if timeouts occur due to backpressure."""
|
|
201
201
|
skip_on_error: NotRequired[bool]
|
|
202
202
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
203
|
+
include_sqs_metadata: NotRequired[bool]
|
|
204
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
203
205
|
enable_assume_role: NotRequired[bool]
|
|
204
206
|
r"""Use Assume Role credentials to access Amazon S3"""
|
|
205
207
|
assume_role_arn: NotRequired[str]
|
|
@@ -341,6 +343,11 @@ class InputS3Inventory(BaseModel):
|
|
|
341
343
|
)
|
|
342
344
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
343
345
|
|
|
346
|
+
include_sqs_metadata: Annotated[
|
|
347
|
+
Optional[bool], pydantic.Field(alias="includeSqsMetadata")
|
|
348
|
+
] = False
|
|
349
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
350
|
+
|
|
344
351
|
enable_assume_role: Annotated[
|
|
345
352
|
Optional[bool], pydantic.Field(alias="enableAssumeRole")
|
|
346
353
|
] = True
|
|
@@ -200,6 +200,8 @@ class InputSecurityLakeTypedDict(TypedDict):
|
|
|
200
200
|
r"""Socket inactivity timeout (in seconds). Increase this value if timeouts occur due to backpressure."""
|
|
201
201
|
skip_on_error: NotRequired[bool]
|
|
202
202
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
203
|
+
include_sqs_metadata: NotRequired[bool]
|
|
204
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
203
205
|
enable_assume_role: NotRequired[bool]
|
|
204
206
|
r"""Use Assume Role credentials to access Amazon S3"""
|
|
205
207
|
assume_role_arn: NotRequired[str]
|
|
@@ -337,6 +339,11 @@ class InputSecurityLake(BaseModel):
|
|
|
337
339
|
)
|
|
338
340
|
r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
|
|
339
341
|
|
|
342
|
+
include_sqs_metadata: Annotated[
|
|
343
|
+
Optional[bool], pydantic.Field(alias="includeSqsMetadata")
|
|
344
|
+
] = False
|
|
345
|
+
r"""Include metadata from SQS notifications on outgoing events"""
|
|
346
|
+
|
|
340
347
|
enable_assume_role: Annotated[
|
|
341
348
|
Optional[bool], pydantic.Field(alias="enableAssumeRole")
|
|
342
349
|
] = True
|
cribl_control_plane/models/{getproductsgroupsbyproductop.py → listconfiggroupbyproductop.py}
RENAMED
|
@@ -13,35 +13,35 @@ from typing import List, Optional
|
|
|
13
13
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class
|
|
17
|
-
r"""Cribl
|
|
16
|
+
class ListConfigGroupByProductProduct(str, Enum):
|
|
17
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
18
18
|
|
|
19
19
|
STREAM = "stream"
|
|
20
20
|
EDGE = "edge"
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class
|
|
24
|
-
product:
|
|
25
|
-
r"""Cribl
|
|
23
|
+
class ListConfigGroupByProductRequestTypedDict(TypedDict):
|
|
24
|
+
product: ListConfigGroupByProductProduct
|
|
25
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
26
26
|
fields: NotRequired[str]
|
|
27
|
-
r"""
|
|
27
|
+
r"""Comma-separated list of additional properties to include in the response. Available values are <code>git.commit</code>, <code>git.localChanges</code>, and <code>git.log</code>."""
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
class
|
|
30
|
+
class ListConfigGroupByProductRequest(BaseModel):
|
|
31
31
|
product: Annotated[
|
|
32
|
-
|
|
32
|
+
ListConfigGroupByProductProduct,
|
|
33
33
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
34
34
|
]
|
|
35
|
-
r"""Cribl
|
|
35
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
36
36
|
|
|
37
37
|
fields: Annotated[
|
|
38
38
|
Optional[str],
|
|
39
39
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
40
40
|
] = None
|
|
41
|
-
r"""
|
|
41
|
+
r"""Comma-separated list of additional properties to include in the response. Available values are <code>git.commit</code>, <code>git.localChanges</code>, and <code>git.log</code>."""
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
class
|
|
44
|
+
class ListConfigGroupByProductResponseTypedDict(TypedDict):
|
|
45
45
|
r"""a list of ConfigGroup objects"""
|
|
46
46
|
|
|
47
47
|
count: NotRequired[int]
|
|
@@ -49,7 +49,7 @@ class GetProductsGroupsByProductResponseTypedDict(TypedDict):
|
|
|
49
49
|
items: NotRequired[List[ConfigGroupTypedDict]]
|
|
50
50
|
|
|
51
51
|
|
|
52
|
-
class
|
|
52
|
+
class ListConfigGroupByProductResponse(BaseModel):
|
|
53
53
|
r"""a list of ConfigGroup objects"""
|
|
54
54
|
|
|
55
55
|
count: Optional[int] = None
|
|
@@ -9,7 +9,7 @@ from typing import List, Optional
|
|
|
9
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class ListMasterWorkerEntryRequestTypedDict(TypedDict):
|
|
13
13
|
filter_exp: NotRequired[str]
|
|
14
14
|
r"""Filter expression evaluated against nodes"""
|
|
15
15
|
sort: NotRequired[str]
|
|
@@ -24,7 +24,7 @@ class GetWorkersRequestTypedDict(TypedDict):
|
|
|
24
24
|
r"""Filter object (JSON stringified) to select nodes"""
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class ListMasterWorkerEntryRequest(BaseModel):
|
|
28
28
|
filter_exp: Annotated[
|
|
29
29
|
Optional[str],
|
|
30
30
|
pydantic.Field(alias="filterExp"),
|
|
@@ -65,7 +65,7 @@ class GetWorkersRequest(BaseModel):
|
|
|
65
65
|
r"""Filter object (JSON stringified) to select nodes"""
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
class
|
|
68
|
+
class ListMasterWorkerEntryResponseTypedDict(TypedDict):
|
|
69
69
|
r"""a list of MasterWorkerEntry objects"""
|
|
70
70
|
|
|
71
71
|
count: NotRequired[int]
|
|
@@ -73,7 +73,7 @@ class GetWorkersResponseTypedDict(TypedDict):
|
|
|
73
73
|
items: NotRequired[List[MasterWorkerEntryTypedDict]]
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
class
|
|
76
|
+
class ListMasterWorkerEntryResponse(BaseModel):
|
|
77
77
|
r"""a list of MasterWorkerEntry objects"""
|
|
78
78
|
|
|
79
79
|
count: Optional[int] = None
|
|
@@ -4,25 +4,41 @@ from __future__ import annotations
|
|
|
4
4
|
from .configgroup import ConfigGroup, ConfigGroupTypedDict
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
7
|
+
from enum import Enum
|
|
7
8
|
import pydantic
|
|
8
9
|
from typing import List, Optional
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
class
|
|
13
|
+
class UpdateConfigGroupByProductAndIDProduct(str, Enum):
|
|
14
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
15
|
+
|
|
16
|
+
STREAM = "stream"
|
|
17
|
+
EDGE = "edge"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class UpdateConfigGroupByProductAndIDRequestTypedDict(TypedDict):
|
|
21
|
+
product: UpdateConfigGroupByProductAndIDProduct
|
|
22
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
13
23
|
id_param: str
|
|
14
|
-
r"""Group
|
|
24
|
+
r"""The <code>id</code> of the Worker Group or Edge Fleet to update."""
|
|
15
25
|
config_group: ConfigGroupTypedDict
|
|
16
26
|
r"""ConfigGroup object"""
|
|
17
27
|
|
|
18
28
|
|
|
19
|
-
class
|
|
29
|
+
class UpdateConfigGroupByProductAndIDRequest(BaseModel):
|
|
30
|
+
product: Annotated[
|
|
31
|
+
UpdateConfigGroupByProductAndIDProduct,
|
|
32
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
33
|
+
]
|
|
34
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
35
|
+
|
|
20
36
|
id_param: Annotated[
|
|
21
37
|
str,
|
|
22
38
|
pydantic.Field(alias="id"),
|
|
23
39
|
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
24
40
|
]
|
|
25
|
-
r"""Group
|
|
41
|
+
r"""The <code>id</code> of the Worker Group or Edge Fleet to update."""
|
|
26
42
|
|
|
27
43
|
config_group: Annotated[
|
|
28
44
|
ConfigGroup,
|
|
@@ -31,7 +47,7 @@ class UpdateGroupsByIDRequest(BaseModel):
|
|
|
31
47
|
r"""ConfigGroup object"""
|
|
32
48
|
|
|
33
49
|
|
|
34
|
-
class
|
|
50
|
+
class UpdateConfigGroupByProductAndIDResponseTypedDict(TypedDict):
|
|
35
51
|
r"""a list of ConfigGroup objects"""
|
|
36
52
|
|
|
37
53
|
count: NotRequired[int]
|
|
@@ -39,7 +55,7 @@ class UpdateGroupsByIDResponseTypedDict(TypedDict):
|
|
|
39
55
|
items: NotRequired[List[ConfigGroupTypedDict]]
|
|
40
56
|
|
|
41
57
|
|
|
42
|
-
class
|
|
58
|
+
class UpdateConfigGroupByProductAndIDResponse(BaseModel):
|
|
43
59
|
r"""a list of ConfigGroup objects"""
|
|
44
60
|
|
|
45
61
|
count: Optional[int] = None
|
|
@@ -5,22 +5,38 @@ from .configgroup import ConfigGroup, ConfigGroupTypedDict
|
|
|
5
5
|
from .deployrequest import DeployRequest, DeployRequestTypedDict
|
|
6
6
|
from cribl_control_plane.types import BaseModel
|
|
7
7
|
from cribl_control_plane.utils import FieldMetadata, PathParamMetadata, RequestMetadata
|
|
8
|
+
from enum import Enum
|
|
8
9
|
from typing import List, Optional
|
|
9
10
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
11
|
|
|
11
12
|
|
|
12
|
-
class
|
|
13
|
+
class UpdateConfigGroupDeployByProductAndIDProduct(str, Enum):
|
|
14
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
15
|
+
|
|
16
|
+
STREAM = "stream"
|
|
17
|
+
EDGE = "edge"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class UpdateConfigGroupDeployByProductAndIDRequestTypedDict(TypedDict):
|
|
21
|
+
product: UpdateConfigGroupDeployByProductAndIDProduct
|
|
22
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
13
23
|
id: str
|
|
14
|
-
r"""Group
|
|
24
|
+
r"""The <code>id</code> of the target Worker Group or Edge Fleet for commit deployment."""
|
|
15
25
|
deploy_request: DeployRequestTypedDict
|
|
16
26
|
r"""DeployRequest object"""
|
|
17
27
|
|
|
18
28
|
|
|
19
|
-
class
|
|
29
|
+
class UpdateConfigGroupDeployByProductAndIDRequest(BaseModel):
|
|
30
|
+
product: Annotated[
|
|
31
|
+
UpdateConfigGroupDeployByProductAndIDProduct,
|
|
32
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
33
|
+
]
|
|
34
|
+
r"""Name of the Cribl product to get the Worker Groups or Edge Fleets for."""
|
|
35
|
+
|
|
20
36
|
id: Annotated[
|
|
21
37
|
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
22
38
|
]
|
|
23
|
-
r"""Group
|
|
39
|
+
r"""The <code>id</code> of the target Worker Group or Edge Fleet for commit deployment."""
|
|
24
40
|
|
|
25
41
|
deploy_request: Annotated[
|
|
26
42
|
DeployRequest,
|
|
@@ -29,7 +45,7 @@ class UpdateGroupsDeployByIDRequest(BaseModel):
|
|
|
29
45
|
r"""DeployRequest object"""
|
|
30
46
|
|
|
31
47
|
|
|
32
|
-
class
|
|
48
|
+
class UpdateConfigGroupDeployByProductAndIDResponseTypedDict(TypedDict):
|
|
33
49
|
r"""a list of ConfigGroup objects"""
|
|
34
50
|
|
|
35
51
|
count: NotRequired[int]
|
|
@@ -37,7 +53,7 @@ class UpdateGroupsDeployByIDResponseTypedDict(TypedDict):
|
|
|
37
53
|
items: NotRequired[List[ConfigGroupTypedDict]]
|
|
38
54
|
|
|
39
55
|
|
|
40
|
-
class
|
|
56
|
+
class UpdateConfigGroupDeployByProductAndIDResponse(BaseModel):
|
|
41
57
|
r"""a list of ConfigGroup objects"""
|
|
42
58
|
|
|
43
59
|
count: Optional[int] = None
|