cribl-control-plane 0.0.18__py3-none-any.whl → 0.0.19__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 (65) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/distributed.py +187 -0
  3. cribl_control_plane/errors/healthstatus_error.py +1 -1
  4. cribl_control_plane/groups_sdk.py +1291 -0
  5. cribl_control_plane/lake.py +479 -0
  6. cribl_control_plane/models/__init__.py +602 -3
  7. cribl_control_plane/models/appmode.py +13 -0
  8. cribl_control_plane/models/cacheconnection.py +44 -0
  9. cribl_control_plane/models/cacheconnectionbackfillstatus.py +12 -0
  10. cribl_control_plane/models/cloudprovider.py +9 -0
  11. cribl_control_plane/models/commit.py +30 -0
  12. cribl_control_plane/models/configgroup.py +116 -0
  13. cribl_control_plane/models/configgroupcloud.py +48 -0
  14. cribl_control_plane/models/configgrouplookups.py +34 -0
  15. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +48 -0
  16. cribl_control_plane/models/createpacksop.py +24 -0
  17. cribl_control_plane/models/createproductsgroupsbyproductop.py +54 -0
  18. cribl_control_plane/models/cribllakedataset.py +74 -0
  19. cribl_control_plane/models/datasetmetadata.py +39 -0
  20. cribl_control_plane/models/datasetmetadataruninfo.py +28 -0
  21. cribl_control_plane/models/deployrequest.py +18 -0
  22. cribl_control_plane/models/deployrequestlookups.py +28 -0
  23. cribl_control_plane/models/distributedsummary.py +63 -0
  24. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +40 -0
  25. cribl_control_plane/models/getgroupsaclbyidop.py +63 -0
  26. cribl_control_plane/models/getgroupsbyidop.py +49 -0
  27. cribl_control_plane/models/getgroupsconfigversionbyidop.py +36 -0
  28. cribl_control_plane/models/getpacksop.py +40 -0
  29. cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +78 -0
  30. cribl_control_plane/models/getproductsgroupsbyproductop.py +58 -0
  31. cribl_control_plane/models/getsummaryop.py +46 -0
  32. cribl_control_plane/models/getsummaryworkersop.py +39 -0
  33. cribl_control_plane/models/getworkersop.py +82 -0
  34. cribl_control_plane/models/hbcriblinfo.py +80 -0
  35. cribl_control_plane/models/hbleaderinfo.py +23 -0
  36. cribl_control_plane/models/healthstatus.py +3 -3
  37. cribl_control_plane/models/heartbeatmetadata.py +122 -0
  38. cribl_control_plane/models/lakedatasetsearchconfig.py +18 -0
  39. cribl_control_plane/models/lakehouseconnectiontype.py +9 -0
  40. cribl_control_plane/models/lookupversions.py +13 -0
  41. cribl_control_plane/models/masterworkerentry.py +84 -0
  42. cribl_control_plane/models/nodeactiveupgradestatus.py +10 -0
  43. cribl_control_plane/models/nodefailedupgradestatus.py +9 -0
  44. cribl_control_plane/models/nodeprovidedinfo.py +184 -0
  45. cribl_control_plane/models/nodeskippedupgradestatus.py +11 -0
  46. cribl_control_plane/models/nodeupgradestate.py +11 -0
  47. cribl_control_plane/models/nodeupgradestatus.py +30 -0
  48. cribl_control_plane/models/packinfo.py +73 -0
  49. cribl_control_plane/models/packinstallinfo.py +76 -0
  50. cribl_control_plane/models/packrequestbody.py +75 -0
  51. cribl_control_plane/models/rbacresource.py +14 -0
  52. cribl_control_plane/models/resourcepolicy.py +24 -0
  53. cribl_control_plane/models/restartresponse.py +26 -0
  54. cribl_control_plane/models/teamaccesscontrollist.py +18 -0
  55. cribl_control_plane/models/updategroupsdeploybyidop.py +46 -0
  56. cribl_control_plane/models/updatepacksop.py +37 -0
  57. cribl_control_plane/models/updateworkersrestartop.py +24 -0
  58. cribl_control_plane/models/useraccesscontrollist.py +18 -0
  59. cribl_control_plane/packs.py +623 -0
  60. cribl_control_plane/sdk.py +24 -0
  61. cribl_control_plane/teams.py +203 -0
  62. cribl_control_plane/workers_sdk.py +555 -0
  63. {cribl_control_plane-0.0.18.dist-info → cribl_control_plane-0.0.19.dist-info}/METADATA +42 -8
  64. {cribl_control_plane-0.0.18.dist-info → cribl_control_plane-0.0.19.dist-info}/RECORD +65 -8
  65. {cribl_control_plane-0.0.18.dist-info → cribl_control_plane-0.0.19.dist-info}/WHEEL +0 -0
@@ -0,0 +1,23 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ from typing import Optional
6
+ from typing_extensions import NotRequired, TypedDict
7
+
8
+
9
+ class HBLeaderInfoTypedDict(TypedDict):
10
+ host: str
11
+ port: float
12
+ servername: NotRequired[str]
13
+ tls: NotRequired[bool]
14
+
15
+
16
+ class HBLeaderInfo(BaseModel):
17
+ host: str
18
+
19
+ port: float
20
+
21
+ servername: Optional[str] = None
22
+
23
+ tls: Optional[bool] = None
@@ -13,20 +13,20 @@ class Role(str, Enum):
13
13
  STANDBY = "standby"
14
14
 
15
15
 
16
- class Status(str, Enum):
16
+ class HealthStatusStatus(str, Enum):
17
17
  HEALTHY = "healthy"
18
18
  SHUTTING_DOWN = "shutting down"
19
19
  STANDBY = "standby"
20
20
 
21
21
 
22
22
  class HealthStatusTypedDict(TypedDict):
23
- status: Status
23
+ status: HealthStatusStatus
24
24
  start_time: float
25
25
  role: NotRequired[Role]
26
26
 
27
27
 
28
28
  class HealthStatus(BaseModel):
29
- status: Status
29
+ status: HealthStatusStatus
30
30
 
31
31
  start_time: Annotated[float, pydantic.Field(alias="startTime")]
32
32
 
@@ -0,0 +1,122 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing import List, Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class HeartbeatMetadataTagsTypedDict(TypedDict):
11
+ pass
12
+
13
+
14
+ class HeartbeatMetadataTags(BaseModel):
15
+ pass
16
+
17
+
18
+ class HeartbeatMetadataAwsTypedDict(TypedDict):
19
+ enabled: bool
20
+ region: str
21
+ type: str
22
+ zone: str
23
+ tags: NotRequired[HeartbeatMetadataTagsTypedDict]
24
+
25
+
26
+ class HeartbeatMetadataAws(BaseModel):
27
+ enabled: bool
28
+
29
+ region: str
30
+
31
+ type: str
32
+
33
+ zone: str
34
+
35
+ tags: Optional[HeartbeatMetadataTags] = None
36
+
37
+
38
+ class HeartbeatMetadataHostOsTypedDict(TypedDict):
39
+ addresses: List[str]
40
+ enabled: bool
41
+ id: str
42
+ version: str
43
+
44
+
45
+ class HeartbeatMetadataHostOs(BaseModel):
46
+ addresses: List[str]
47
+
48
+ enabled: bool
49
+
50
+ id: str
51
+
52
+ version: str
53
+
54
+
55
+ class HeartbeatMetadataOwnerTypedDict(TypedDict):
56
+ kind: str
57
+ name: str
58
+
59
+
60
+ class HeartbeatMetadataOwner(BaseModel):
61
+ kind: str
62
+
63
+ name: str
64
+
65
+
66
+ class HeartbeatMetadataKubeTypedDict(TypedDict):
67
+ enabled: bool
68
+ namespace: str
69
+ node: str
70
+ pod: str
71
+ source: str
72
+ owner: NotRequired[HeartbeatMetadataOwnerTypedDict]
73
+
74
+
75
+ class HeartbeatMetadataKube(BaseModel):
76
+ enabled: bool
77
+
78
+ namespace: str
79
+
80
+ node: str
81
+
82
+ pod: str
83
+
84
+ source: str
85
+
86
+ owner: Optional[HeartbeatMetadataOwner] = None
87
+
88
+
89
+ class HeartbeatMetadataOsTypedDict(TypedDict):
90
+ addresses: List[str]
91
+ enabled: bool
92
+ id: str
93
+ version: str
94
+
95
+
96
+ class HeartbeatMetadataOs(BaseModel):
97
+ addresses: List[str]
98
+
99
+ enabled: bool
100
+
101
+ id: str
102
+
103
+ version: str
104
+
105
+
106
+ class HeartbeatMetadataTypedDict(TypedDict):
107
+ aws: NotRequired[HeartbeatMetadataAwsTypedDict]
108
+ host_os: NotRequired[HeartbeatMetadataHostOsTypedDict]
109
+ kube: NotRequired[HeartbeatMetadataKubeTypedDict]
110
+ os: NotRequired[HeartbeatMetadataOsTypedDict]
111
+
112
+
113
+ class HeartbeatMetadata(BaseModel):
114
+ aws: Optional[HeartbeatMetadataAws] = None
115
+
116
+ host_os: Annotated[
117
+ Optional[HeartbeatMetadataHostOs], pydantic.Field(alias="hostOs")
118
+ ] = None
119
+
120
+ kube: Optional[HeartbeatMetadataKube] = None
121
+
122
+ os: Optional[HeartbeatMetadataOs] = None
@@ -0,0 +1,18 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .datasetmetadata import DatasetMetadata, DatasetMetadataTypedDict
5
+ from cribl_control_plane.types import BaseModel
6
+ from typing import List, Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class LakeDatasetSearchConfigTypedDict(TypedDict):
11
+ datatypes: NotRequired[List[str]]
12
+ metadata: NotRequired[DatasetMetadataTypedDict]
13
+
14
+
15
+ class LakeDatasetSearchConfig(BaseModel):
16
+ datatypes: Optional[List[str]] = None
17
+
18
+ metadata: Optional[DatasetMetadata] = None
@@ -0,0 +1,9 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class LakehouseConnectionType(str, Enum):
8
+ CACHE = "cache"
9
+ ZERO_POINT = "zeroPoint"
@@ -0,0 +1,13 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ from typing_extensions import TypedDict
6
+
7
+
8
+ class LookupVersionsTypedDict(TypedDict):
9
+ pass
10
+
11
+
12
+ class LookupVersions(BaseModel):
13
+ pass
@@ -0,0 +1,84 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
5
+ from .nodeprovidedinfo import NodeProvidedInfo, NodeProvidedInfoTypedDict
6
+ from .nodeupgradestatus import NodeUpgradeStatus, NodeUpgradeStatusTypedDict
7
+ from cribl_control_plane.types import BaseModel
8
+ from enum import Enum
9
+ import pydantic
10
+ from typing import Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class LastMetricsTypedDict(TypedDict):
15
+ pass
16
+
17
+
18
+ class LastMetrics(BaseModel):
19
+ pass
20
+
21
+
22
+ class MasterWorkerEntryType(str, Enum):
23
+ INFO = "info"
24
+ REQ = "req"
25
+ RESP = "resp"
26
+
27
+
28
+ class MasterWorkerEntryWorkersTypedDict(TypedDict):
29
+ count: float
30
+
31
+
32
+ class MasterWorkerEntryWorkers(BaseModel):
33
+ count: float
34
+
35
+
36
+ class MasterWorkerEntryTypedDict(TypedDict):
37
+ first_msg_time: float
38
+ group: str
39
+ id: str
40
+ info: NodeProvidedInfoTypedDict
41
+ last_msg_time: float
42
+ worker_processes: float
43
+ deployable: NotRequired[bool]
44
+ disconnected: NotRequired[bool]
45
+ last_metrics: NotRequired[LastMetricsTypedDict]
46
+ metadata: NotRequired[HeartbeatMetadataTypedDict]
47
+ node_upgrade_status: NotRequired[NodeUpgradeStatusTypedDict]
48
+ status: NotRequired[str]
49
+ type: NotRequired[MasterWorkerEntryType]
50
+ workers: NotRequired[MasterWorkerEntryWorkersTypedDict]
51
+
52
+
53
+ class MasterWorkerEntry(BaseModel):
54
+ first_msg_time: Annotated[float, pydantic.Field(alias="firstMsgTime")]
55
+
56
+ group: str
57
+
58
+ id: str
59
+
60
+ info: NodeProvidedInfo
61
+
62
+ last_msg_time: Annotated[float, pydantic.Field(alias="lastMsgTime")]
63
+
64
+ worker_processes: Annotated[float, pydantic.Field(alias="workerProcesses")]
65
+
66
+ deployable: Optional[bool] = None
67
+
68
+ disconnected: Optional[bool] = None
69
+
70
+ last_metrics: Annotated[
71
+ Optional[LastMetrics], pydantic.Field(alias="lastMetrics")
72
+ ] = None
73
+
74
+ metadata: Optional[HeartbeatMetadata] = None
75
+
76
+ node_upgrade_status: Annotated[
77
+ Optional[NodeUpgradeStatus], pydantic.Field(alias="nodeUpgradeStatus")
78
+ ] = None
79
+
80
+ status: Optional[str] = None
81
+
82
+ type: Optional[MasterWorkerEntryType] = None
83
+
84
+ workers: Optional[MasterWorkerEntryWorkers] = None
@@ -0,0 +1,10 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class NodeActiveUpgradeStatus(int, Enum):
8
+ ZERO = 0
9
+ ONE = 1
10
+ TWO = 2
@@ -0,0 +1,9 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class NodeFailedUpgradeStatus(int, Enum):
8
+ ZERO = 0
9
+ ONE = 1
@@ -0,0 +1,184 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .hbcriblinfo import HBCriblInfo, HBCriblInfoTypedDict
5
+ from .heartbeatmetadata import HeartbeatMetadata, HeartbeatMetadataTypedDict
6
+ from cribl_control_plane.types import BaseModel
7
+ import pydantic
8
+ from typing import List, Optional, Union
9
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
10
+
11
+
12
+ class NodeProvidedInfoTagsTypedDict(TypedDict):
13
+ pass
14
+
15
+
16
+ class NodeProvidedInfoTags(BaseModel):
17
+ pass
18
+
19
+
20
+ class NodeProvidedInfoAwsTypedDict(TypedDict):
21
+ enabled: bool
22
+ region: str
23
+ type: str
24
+ zone: str
25
+ tags: NotRequired[NodeProvidedInfoTagsTypedDict]
26
+
27
+
28
+ class NodeProvidedInfoAws(BaseModel):
29
+ enabled: bool
30
+
31
+ region: str
32
+
33
+ type: str
34
+
35
+ zone: str
36
+
37
+ tags: Optional[NodeProvidedInfoTags] = None
38
+
39
+
40
+ class NodeProvidedInfoHostOsTypedDict(TypedDict):
41
+ addresses: List[str]
42
+ enabled: bool
43
+ id: str
44
+ version: str
45
+
46
+
47
+ class NodeProvidedInfoHostOs(BaseModel):
48
+ addresses: List[str]
49
+
50
+ enabled: bool
51
+
52
+ id: str
53
+
54
+ version: str
55
+
56
+
57
+ class NodeProvidedInfoOwnerTypedDict(TypedDict):
58
+ kind: str
59
+ name: str
60
+
61
+
62
+ class NodeProvidedInfoOwner(BaseModel):
63
+ kind: str
64
+
65
+ name: str
66
+
67
+
68
+ class NodeProvidedInfoKubeTypedDict(TypedDict):
69
+ enabled: bool
70
+ namespace: str
71
+ node: str
72
+ pod: str
73
+ source: str
74
+ owner: NotRequired[NodeProvidedInfoOwnerTypedDict]
75
+
76
+
77
+ class NodeProvidedInfoKube(BaseModel):
78
+ enabled: bool
79
+
80
+ namespace: str
81
+
82
+ node: str
83
+
84
+ pod: str
85
+
86
+ source: str
87
+
88
+ owner: Optional[NodeProvidedInfoOwner] = None
89
+
90
+
91
+ class NodeProvidedInfoOs2TypedDict(TypedDict):
92
+ addresses: List[str]
93
+
94
+
95
+ class NodeProvidedInfoOs2(BaseModel):
96
+ addresses: List[str]
97
+
98
+
99
+ class NodeProvidedInfoOs1TypedDict(TypedDict):
100
+ addresses: List[str]
101
+ enabled: bool
102
+ id: str
103
+ version: str
104
+
105
+
106
+ class NodeProvidedInfoOs1(BaseModel):
107
+ addresses: List[str]
108
+
109
+ enabled: bool
110
+
111
+ id: str
112
+
113
+ version: str
114
+
115
+
116
+ OsTypedDict = TypeAliasType(
117
+ "OsTypedDict", Union[NodeProvidedInfoOs2TypedDict, NodeProvidedInfoOs1TypedDict]
118
+ )
119
+
120
+
121
+ Os = TypeAliasType("Os", Union[NodeProvidedInfoOs2, NodeProvidedInfoOs1])
122
+
123
+
124
+ class NodeProvidedInfoTypedDict(TypedDict):
125
+ architecture: str
126
+ cpus: float
127
+ cribl: HBCriblInfoTypedDict
128
+ free_disk_space: float
129
+ hostname: str
130
+ node: str
131
+ platform: str
132
+ release: str
133
+ total_disk_space: float
134
+ totalmem: float
135
+ aws: NotRequired[NodeProvidedInfoAwsTypedDict]
136
+ conn_ip: NotRequired[str]
137
+ host_os: NotRequired[NodeProvidedInfoHostOsTypedDict]
138
+ is_saas_worker: NotRequired[bool]
139
+ kube: NotRequired[NodeProvidedInfoKubeTypedDict]
140
+ local_time: NotRequired[float]
141
+ metadata: NotRequired[HeartbeatMetadataTypedDict]
142
+ os: NotRequired[OsTypedDict]
143
+
144
+
145
+ class NodeProvidedInfo(BaseModel):
146
+ architecture: str
147
+
148
+ cpus: float
149
+
150
+ cribl: HBCriblInfo
151
+
152
+ free_disk_space: Annotated[float, pydantic.Field(alias="freeDiskSpace")]
153
+
154
+ hostname: str
155
+
156
+ node: str
157
+
158
+ platform: str
159
+
160
+ release: str
161
+
162
+ total_disk_space: Annotated[float, pydantic.Field(alias="totalDiskSpace")]
163
+
164
+ totalmem: float
165
+
166
+ aws: Optional[NodeProvidedInfoAws] = None
167
+
168
+ conn_ip: Optional[str] = None
169
+
170
+ host_os: Annotated[
171
+ Optional[NodeProvidedInfoHostOs], pydantic.Field(alias="hostOs")
172
+ ] = None
173
+
174
+ is_saas_worker: Annotated[Optional[bool], pydantic.Field(alias="isSaasWorker")] = (
175
+ None
176
+ )
177
+
178
+ kube: Optional[NodeProvidedInfoKube] = None
179
+
180
+ local_time: Annotated[Optional[float], pydantic.Field(alias="localTime")] = None
181
+
182
+ metadata: Optional[HeartbeatMetadata] = None
183
+
184
+ os: Optional[Os] = None
@@ -0,0 +1,11 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class NodeSkippedUpgradeStatus(int, Enum):
8
+ ZERO = 0
9
+ ONE = 1
10
+ TWO = 2
11
+ THREE = 3
@@ -0,0 +1,11 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from enum import Enum
5
+
6
+
7
+ class NodeUpgradeState(int, Enum):
8
+ ZERO = 0
9
+ ONE = 1
10
+ TWO = 2
11
+ THREE = 3
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .nodeactiveupgradestatus import NodeActiveUpgradeStatus
5
+ from .nodefailedupgradestatus import NodeFailedUpgradeStatus
6
+ from .nodeskippedupgradestatus import NodeSkippedUpgradeStatus
7
+ from .nodeupgradestate import NodeUpgradeState
8
+ from cribl_control_plane.types import BaseModel
9
+ from typing import Optional
10
+ from typing_extensions import NotRequired, TypedDict
11
+
12
+
13
+ class NodeUpgradeStatusTypedDict(TypedDict):
14
+ state: NodeUpgradeState
15
+ timestamp: float
16
+ active: NotRequired[NodeActiveUpgradeStatus]
17
+ failed: NotRequired[NodeFailedUpgradeStatus]
18
+ skipped: NotRequired[NodeSkippedUpgradeStatus]
19
+
20
+
21
+ class NodeUpgradeStatus(BaseModel):
22
+ state: NodeUpgradeState
23
+
24
+ timestamp: float
25
+
26
+ active: Optional[NodeActiveUpgradeStatus] = None
27
+
28
+ failed: Optional[NodeFailedUpgradeStatus] = None
29
+
30
+ skipped: Optional[NodeSkippedUpgradeStatus] = None
@@ -0,0 +1,73 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing import Any, Dict, List, Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class PackInfoTagsTypedDict(TypedDict):
11
+ data_type: List[str]
12
+ domain: List[str]
13
+ streamtags: List[str]
14
+ technology: List[str]
15
+
16
+
17
+ class PackInfoTags(BaseModel):
18
+ data_type: Annotated[List[str], pydantic.Field(alias="dataType")]
19
+
20
+ domain: List[str]
21
+
22
+ streamtags: List[str]
23
+
24
+ technology: List[str]
25
+
26
+
27
+ class PackInfoTypedDict(TypedDict):
28
+ id: str
29
+ source: str
30
+ author: NotRequired[str]
31
+ description: NotRequired[str]
32
+ display_name: NotRequired[str]
33
+ exports: NotRequired[List[str]]
34
+ inputs: NotRequired[float]
35
+ is_disabled: NotRequired[bool]
36
+ min_log_stream_version: NotRequired[str]
37
+ outputs: NotRequired[float]
38
+ settings: NotRequired[Dict[str, Any]]
39
+ spec: NotRequired[str]
40
+ tags: NotRequired[PackInfoTagsTypedDict]
41
+ version: NotRequired[str]
42
+
43
+
44
+ class PackInfo(BaseModel):
45
+ id: str
46
+
47
+ source: str
48
+
49
+ author: Optional[str] = None
50
+
51
+ description: Optional[str] = None
52
+
53
+ display_name: Annotated[Optional[str], pydantic.Field(alias="displayName")] = None
54
+
55
+ exports: Optional[List[str]] = None
56
+
57
+ inputs: Optional[float] = None
58
+
59
+ is_disabled: Annotated[Optional[bool], pydantic.Field(alias="isDisabled")] = None
60
+
61
+ min_log_stream_version: Annotated[
62
+ Optional[str], pydantic.Field(alias="minLogStreamVersion")
63
+ ] = None
64
+
65
+ outputs: Optional[float] = None
66
+
67
+ settings: Optional[Dict[str, Any]] = None
68
+
69
+ spec: Optional[str] = None
70
+
71
+ tags: Optional[PackInfoTags] = None
72
+
73
+ version: Optional[str] = None