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.

Files changed (36) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/acl.py +30 -20
  3. cribl_control_plane/branches.py +4 -8
  4. cribl_control_plane/configs_versions.py +22 -16
  5. cribl_control_plane/groups_sdk.py +464 -428
  6. cribl_control_plane/models/__init__.py +204 -177
  7. cribl_control_plane/models/{createproductsgroupsbyproductop.py → createconfiggroupbyproductop.py} +10 -10
  8. cribl_control_plane/models/currentbranchresult.py +13 -0
  9. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +53 -0
  10. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +78 -0
  11. cribl_control_plane/models/{getproductsgroupsaclteamsbyproductandidop.py → getconfiggroupaclteamsbyproductandidop.py} +15 -15
  12. cribl_control_plane/models/getconfiggroupbyproductandidop.py +65 -0
  13. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +52 -0
  14. cribl_control_plane/models/{getsummaryworkersop.py → getmasterworkerentryop.py} +4 -4
  15. cribl_control_plane/models/gitcommitsummary.py +3 -3
  16. cribl_control_plane/models/gitstatusresult.py +0 -3
  17. cribl_control_plane/models/input.py +30 -30
  18. cribl_control_plane/models/inputcribllakehttp.py +63 -0
  19. cribl_control_plane/models/inputcrowdstrike.py +7 -0
  20. cribl_control_plane/models/inputs3.py +7 -0
  21. cribl_control_plane/models/inputs3inventory.py +7 -0
  22. cribl_control_plane/models/inputsecuritylake.py +7 -0
  23. cribl_control_plane/models/{getproductsgroupsbyproductop.py → listconfiggroupbyproductop.py} +12 -12
  24. cribl_control_plane/models/{getworkersop.py → listmasterworkerentryop.py} +4 -4
  25. cribl_control_plane/models/{updategroupsbyidop.py → updateconfiggroupbyproductandidop.py} +22 -6
  26. cribl_control_plane/models/{updategroupsdeploybyidop.py → updateconfiggroupdeploybyproductandidop.py} +22 -6
  27. cribl_control_plane/nodes.py +70 -62
  28. cribl_control_plane/teams.py +20 -20
  29. {cribl_control_plane-0.0.28.dist-info → cribl_control_plane-0.0.30.dist-info}/METADATA +8 -8
  30. {cribl_control_plane-0.0.28.dist-info → cribl_control_plane-0.0.30.dist-info}/RECORD +31 -31
  31. cribl_control_plane/models/deletegroupsbyidop.py +0 -37
  32. cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
  33. cribl_control_plane/models/getgroupsbyidop.py +0 -49
  34. cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
  35. cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
  36. {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
@@ -13,35 +13,35 @@ from typing import List, Optional
13
13
  from typing_extensions import Annotated, NotRequired, TypedDict
14
14
 
15
15
 
16
- class GetProductsGroupsByProductProduct(str, Enum):
17
- r"""Cribl Product"""
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 GetProductsGroupsByProductRequestTypedDict(TypedDict):
24
- product: GetProductsGroupsByProductProduct
25
- r"""Cribl Product"""
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"""fields to add to results: git.commit, git.localChanges, git.log"""
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 GetProductsGroupsByProductRequest(BaseModel):
30
+ class ListConfigGroupByProductRequest(BaseModel):
31
31
  product: Annotated[
32
- GetProductsGroupsByProductProduct,
32
+ ListConfigGroupByProductProduct,
33
33
  FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
34
34
  ]
35
- r"""Cribl Product"""
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"""fields to add to results: git.commit, git.localChanges, git.log"""
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 GetProductsGroupsByProductResponseTypedDict(TypedDict):
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 GetProductsGroupsByProductResponse(BaseModel):
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 GetWorkersRequestTypedDict(TypedDict):
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 GetWorkersRequest(BaseModel):
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 GetWorkersResponseTypedDict(TypedDict):
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 GetWorkersResponse(BaseModel):
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 UpdateGroupsByIDRequestTypedDict(TypedDict):
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 ID"""
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 UpdateGroupsByIDRequest(BaseModel):
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 ID"""
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 UpdateGroupsByIDResponseTypedDict(TypedDict):
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 UpdateGroupsByIDResponse(BaseModel):
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 UpdateGroupsDeployByIDRequestTypedDict(TypedDict):
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 ID"""
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 UpdateGroupsDeployByIDRequest(BaseModel):
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 ID"""
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 UpdateGroupsDeployByIDResponseTypedDict(TypedDict):
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 UpdateGroupsDeployByIDResponse(BaseModel):
56
+ class UpdateConfigGroupDeployByProductAndIDResponse(BaseModel):
41
57
  r"""a list of ConfigGroup objects"""
42
58
 
43
59
  count: Optional[int] = None