cribl-control-plane 0.4.0a12__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.

Files changed (137) hide show
  1. cribl_control_plane/_version.py +4 -4
  2. cribl_control_plane/acl.py +14 -6
  3. cribl_control_plane/branches.py +24 -8
  4. cribl_control_plane/commits.py +98 -42
  5. cribl_control_plane/commits_files.py +28 -12
  6. cribl_control_plane/configs_versions.py +14 -10
  7. cribl_control_plane/destinations.py +70 -30
  8. cribl_control_plane/destinations_pq.py +28 -12
  9. cribl_control_plane/groups_sdk.py +84 -60
  10. cribl_control_plane/health.py +10 -2
  11. cribl_control_plane/hectokens.py +28 -32
  12. cribl_control_plane/lakedatasets.py +70 -86
  13. cribl_control_plane/models/__init__.py +266 -438
  14. cribl_control_plane/models/addhectokenrequest.py +1 -7
  15. cribl_control_plane/models/configgroup.py +1 -0
  16. cribl_control_plane/models/{getversionbranchop.py → countedbranchinfo.py} +2 -6
  17. cribl_control_plane/models/countedconfiggroup.py +20 -0
  18. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  19. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  20. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  21. cribl_control_plane/models/countedgitcountresult.py +20 -0
  22. cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
  23. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  24. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  25. cribl_control_plane/models/countedgitlogresult.py +20 -0
  26. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  27. cribl_control_plane/models/countedgitshowresult.py +20 -0
  28. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  29. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  30. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  31. cribl_control_plane/models/countedjobinfo.py +20 -0
  32. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  33. cribl_control_plane/models/countednumber.py +19 -0
  34. cribl_control_plane/models/countedobject.py +19 -0
  35. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  36. cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  37. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  38. cribl_control_plane/models/countedpackinfo.py +20 -0
  39. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  40. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  41. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  42. cribl_control_plane/models/{createversionpushop.py → countedstring.py} +2 -6
  43. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  44. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  45. cribl_control_plane/models/createauthloginop.py +18 -0
  46. cribl_control_plane/models/createconfiggroupbyproductop.py +1 -20
  47. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  48. cribl_control_plane/models/createinputhectokenbyidop.py +1 -20
  49. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  50. cribl_control_plane/models/createroutesappendbyidop.py +2 -20
  51. cribl_control_plane/models/createversioncommitop.py +1 -19
  52. cribl_control_plane/models/createversionrevertop.py +1 -19
  53. cribl_control_plane/models/createversionundoop.py +1 -18
  54. cribl_control_plane/models/criblevent.py +15 -0
  55. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +1 -20
  56. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  57. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  58. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  59. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  60. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  61. cribl_control_plane/models/deletepipelinebyidop.py +1 -20
  62. cribl_control_plane/models/difffiles.py +5 -46
  63. cribl_control_plane/models/diffline.py +26 -0
  64. cribl_control_plane/models/difflinecontext.py +28 -0
  65. cribl_control_plane/models/difflinedelete.py +25 -0
  66. cribl_control_plane/models/difflineinsert.py +25 -0
  67. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +1 -19
  68. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +1 -19
  69. cribl_control_plane/models/getconfiggroupbyproductandidop.py +1 -19
  70. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +1 -19
  71. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  72. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +2 -79
  73. cribl_control_plane/models/getinputbyidop.py +1 -20
  74. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  75. cribl_control_plane/models/getoutputbyidop.py +1 -20
  76. cribl_control_plane/models/getoutputpqbyidop.py +1 -20
  77. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  78. cribl_control_plane/models/getpacksbyidop.py +1 -20
  79. cribl_control_plane/models/getpacksop.py +1 -19
  80. cribl_control_plane/models/getpipelinebyidop.py +1 -20
  81. cribl_control_plane/models/getroutesbyidop.py +1 -20
  82. cribl_control_plane/models/getsummaryop.py +1 -19
  83. cribl_control_plane/models/getversioncountop.py +1 -19
  84. cribl_control_plane/models/getversiondiffop.py +1 -19
  85. cribl_control_plane/models/getversionfilesop.py +1 -19
  86. cribl_control_plane/models/getversionop.py +1 -19
  87. cribl_control_plane/models/getversionshowop.py +1 -19
  88. cribl_control_plane/models/getversionstatusop.py +1 -19
  89. cribl_control_plane/models/groupcreaterequest.py +1 -0
  90. cribl_control_plane/models/hbcriblinfo.py +3 -4
  91. cribl_control_plane/models/heartbeatmetadata.py +3 -11
  92. cribl_control_plane/models/inputcloudflarehec.py +9 -4
  93. cribl_control_plane/models/inputconfluentcloud.py +4 -2
  94. cribl_control_plane/models/inputcribllakehttp.py +15 -0
  95. cribl_control_plane/models/inputkafka.py +4 -2
  96. cribl_control_plane/models/inputmsk.py +4 -2
  97. cribl_control_plane/models/inputsnmp.py +33 -7
  98. cribl_control_plane/models/inputsplunkhec.py +8 -4
  99. cribl_control_plane/models/inputwef.py +23 -0
  100. cribl_control_plane/models/inputwiz.py +95 -0
  101. cribl_control_plane/models/inputzscalerhec.py +8 -4
  102. cribl_control_plane/models/listconfiggroupbyproductop.py +1 -19
  103. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  104. cribl_control_plane/models/masterworkerentry.py +3 -11
  105. cribl_control_plane/models/nodeprovidedinfo.py +2 -10
  106. cribl_control_plane/models/outputnetflow.py +0 -7
  107. cribl_control_plane/models/outputsplunklb.py +10 -0
  108. cribl_control_plane/models/runnablejobcollection.py +0 -56
  109. cribl_control_plane/models/runnablejobexecutor.py +0 -28
  110. cribl_control_plane/models/runnablejobscheduledsearch.py +0 -28
  111. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +1 -19
  112. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +1 -20
  113. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +1 -20
  114. cribl_control_plane/models/updatehectokenrequest.py +1 -7
  115. cribl_control_plane/models/updateinputbyidop.py +1 -19
  116. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -20
  117. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  118. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  119. cribl_control_plane/models/updatepipelinebyidop.py +1 -19
  120. cribl_control_plane/models/updateroutesbyidop.py +1 -19
  121. cribl_control_plane/nodes.py +28 -20
  122. cribl_control_plane/packs.py +80 -32
  123. cribl_control_plane/pipelines.py +70 -30
  124. cribl_control_plane/routes_sdk.py +56 -28
  125. cribl_control_plane/samples.py +28 -16
  126. cribl_control_plane/sources.py +70 -30
  127. cribl_control_plane/statuses.py +14 -6
  128. cribl_control_plane/summaries.py +14 -6
  129. cribl_control_plane/teams.py +14 -6
  130. cribl_control_plane/tokens.py +26 -8
  131. cribl_control_plane/versions_configs.py +14 -6
  132. {cribl_control_plane-0.4.0a12.dist-info → cribl_control_plane-0.4.0b12.dist-info}/METADATA +23 -23
  133. {cribl_control_plane-0.4.0a12.dist-info → cribl_control_plane-0.4.0b12.dist-info}/RECORD +135 -113
  134. cribl_control_plane/models/createpipelineop.py +0 -24
  135. cribl_control_plane/models/lookupversions.py +0 -13
  136. {cribl_control_plane-0.4.0a12.dist-info → cribl_control_plane-0.4.0b12.dist-info}/WHEEL +0 -0
  137. {cribl_control_plane-0.4.0a12.dist-info → cribl_control_plane-0.4.0b12.dist-info}/licenses/LICENSE +0 -0
@@ -1,11 +1,9 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .routes import Routes, RoutesTypedDict
5
4
  from cribl_control_plane.types import BaseModel
6
5
  from cribl_control_plane.utils import FieldMetadata, PathParamMetadata
7
- from typing import List, Optional
8
- from typing_extensions import Annotated, NotRequired, TypedDict
6
+ from typing_extensions import Annotated, TypedDict
9
7
 
10
8
 
11
9
  class GetRoutesByIDRequestTypedDict(TypedDict):
@@ -18,20 +16,3 @@ class GetRoutesByIDRequest(BaseModel):
18
16
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
19
17
  ]
20
18
  r"""The <code>id</code> of the Routing table to get. The supported value is <code>default</code>."""
21
-
22
-
23
- class GetRoutesByIDResponseTypedDict(TypedDict):
24
- r"""a list of Routes objects"""
25
-
26
- count: NotRequired[int]
27
- r"""number of items present in the items array"""
28
- items: NotRequired[List[RoutesTypedDict]]
29
-
30
-
31
- class GetRoutesByIDResponse(BaseModel):
32
- r"""a list of Routes objects"""
33
-
34
- count: Optional[int] = None
35
- r"""number of items present in the items array"""
36
-
37
- items: Optional[List[Routes]] = None
@@ -1,7 +1,6 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from .distributedsummary import DistributedSummary, DistributedSummaryTypedDict
5
4
  from .workertypes import WorkerTypes
6
5
  from cribl_control_plane import models
7
6
  from cribl_control_plane.types import BaseModel
@@ -12,7 +11,7 @@ from cribl_control_plane.utils import (
12
11
  )
13
12
  from pydantic import field_serializer
14
13
  from pydantic.functional_validators import PlainValidator
15
- from typing import List, Optional
14
+ from typing import Optional
16
15
  from typing_extensions import Annotated, NotRequired, TypedDict
17
16
 
18
17
 
@@ -36,20 +35,3 @@ class GetSummaryRequest(BaseModel):
36
35
  except ValueError:
37
36
  return value
38
37
  return value
39
-
40
-
41
- class GetSummaryResponseTypedDict(TypedDict):
42
- r"""a list of DistributedSummary objects"""
43
-
44
- count: NotRequired[int]
45
- r"""number of items present in the items array"""
46
- items: NotRequired[List[DistributedSummaryTypedDict]]
47
-
48
-
49
- class GetSummaryResponse(BaseModel):
50
- r"""a list of DistributedSummary objects"""
51
-
52
- count: Optional[int] = None
53
- r"""number of items present in the items array"""
54
-
55
- items: Optional[List[DistributedSummary]] = 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 .gitcountresult import GitCountResult, GitCountResultTypedDict
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 List, Optional
7
+ from typing import Optional
9
8
  from typing_extensions import Annotated, NotRequired, TypedDict
10
9
 
11
10
 
@@ -30,20 +29,3 @@ class GetVersionCountRequest(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 count."""
33
-
34
-
35
- class GetVersionCountResponseTypedDict(TypedDict):
36
- r"""a list of GitCountResult objects"""
37
-
38
- count: NotRequired[int]
39
- r"""number of items present in the items array"""
40
- items: NotRequired[List[GitCountResultTypedDict]]
41
-
42
-
43
- class GetVersionCountResponse(BaseModel):
44
- r"""a list of GitCountResult objects"""
45
-
46
- count: Optional[int] = None
47
- r"""number of items present in the items array"""
48
-
49
- items: Optional[List[GitCountResult]] = 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 .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 List, Optional
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 List, Optional
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 List, Optional
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 List, Optional
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 List, Optional
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
@@ -56,6 +56,7 @@ class GroupCreateRequestGit(BaseModel):
56
56
 
57
57
  class GroupCreateRequestType(str, Enum, metaclass=utils.OpenEnumMeta):
58
58
  LAKE_ACCESS = "lake_access"
59
+ LOCAL_SEARCH = "local_search"
59
60
 
60
61
 
61
62
  class GroupCreateRequestTypedDict(TypedDict):
@@ -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[LookupVersionsTypedDict]
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[LookupVersions], pydantic.Field(alias="lookupVersions")
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[HeartbeatMetadataTagsTypedDict]
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[HeartbeatMetadataTags] = None
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[Any]
153
- token: NotRequired[Any]
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[Any], pydantic.Field(alias="tokenSecret")] = None
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[Any] = None
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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"""Timeout used to detect client failures when using Kafka's group-management facilities.
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 Any, List, Optional
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[Any]
150
- priv_protocol: NotRequired[str]
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[Any], pydantic.Field(alias="authKey")] = None
177
+ auth_key: Annotated[Optional[str], pydantic.Field(alias="authKey")] = None
164
178
 
165
- priv_protocol: Annotated[Optional[str], pydantic.Field(alias="privProtocol")] = (
166
- "none"
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: Any
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[Any]
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: Any
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[Any], pydantic.Field(alias="tokenSecret")] = None
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):