acex-devkit 1.6.0__tar.gz → 1.6.2__tar.gz
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.
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/PKG-INFO +1 -1
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/pyproject.toml +1 -1
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/node_response.py +36 -16
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/README.md +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/__init__.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/__init__.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/command.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/diff.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/old_diff.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/drivers/__init__.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/drivers/base.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/drivers/base_driver.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/exceptions/__init__.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/__init__.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/acl_model.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/attribute_value.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/composed_configuration.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/container_entry.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/external_value.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/logging.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/ned.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/models/spanning_tree.py +0 -0
- {acex_devkit-1.6.0 → acex_devkit-1.6.2}/src/acex_devkit/types/__init__.py +0 -0
|
@@ -1,28 +1,48 @@
|
|
|
1
1
|
from pydantic import BaseModel, Field
|
|
2
|
-
from typing import Optional, Dict, Any
|
|
2
|
+
from typing import Annotated, Optional, Dict, Any, List, Literal, Union
|
|
3
3
|
from enum import Enum
|
|
4
4
|
from datetime import datetime
|
|
5
5
|
from acex_devkit.models.composed_configuration import ComposedConfiguration
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class LogicalNodeResponse(BaseModel):
|
|
9
|
-
id: Optional[int] =
|
|
10
|
-
hostname: Optional[str] =
|
|
11
|
-
role: Optional[str] =
|
|
12
|
-
site: Optional[str] =
|
|
13
|
-
sequence: Optional[int] =
|
|
14
|
-
configuration: Optional[ComposedConfiguration] =
|
|
15
|
-
meta_data: Optional[Dict[str, Any]] =
|
|
9
|
+
id: Optional[int] = None
|
|
10
|
+
hostname: Optional[str] = None
|
|
11
|
+
role: Optional[str] = None
|
|
12
|
+
site: Optional[str] = None
|
|
13
|
+
sequence: Optional[int] = None
|
|
14
|
+
configuration: Optional[ComposedConfiguration] = None
|
|
15
|
+
meta_data: Optional[Dict[str, Any]] = None
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class Asset(BaseModel):
|
|
19
19
|
id: Optional[int] = None
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
type: Literal["asset"] = "asset"
|
|
21
|
+
vendor: Optional[str] = None
|
|
22
|
+
serial_number: Optional[str] = None
|
|
23
|
+
os: Optional[str] = None
|
|
24
|
+
os_version: Optional[str] = None
|
|
25
|
+
hardware_model: Optional[str] = None
|
|
26
|
+
ned_id: Optional[str] = None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class AssetClusterAsset(BaseModel):
|
|
30
|
+
id: Optional[int] = None
|
|
31
|
+
vendor: Optional[str] = None
|
|
32
|
+
serial_number: Optional[str] = None
|
|
33
|
+
os: Optional[str] = None
|
|
34
|
+
os_version: Optional[str] = None
|
|
35
|
+
hardware_model: Optional[str] = None
|
|
36
|
+
ned_id: Optional[str] = None
|
|
37
|
+
cluster_index: Optional[int] = None
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class AssetCluster(BaseModel):
|
|
41
|
+
id: Optional[int] = None
|
|
42
|
+
type: Literal["asset_cluster"] = "asset_cluster"
|
|
43
|
+
name: Optional[str] = None
|
|
25
44
|
ned_id: Optional[str] = None
|
|
45
|
+
assets: List[AssetClusterAsset] = []
|
|
26
46
|
|
|
27
47
|
|
|
28
48
|
class AssetRefType(str, Enum):
|
|
@@ -39,9 +59,9 @@ class NodeStatus(str, Enum):
|
|
|
39
59
|
|
|
40
60
|
class NodeBase(BaseModel):
|
|
41
61
|
asset_ref_id: int
|
|
42
|
-
asset_ref_type: AssetRefType =
|
|
62
|
+
asset_ref_type: Optional[AssetRefType] = None
|
|
43
63
|
logical_node_id: int
|
|
44
|
-
status: NodeStatus =
|
|
64
|
+
status: Optional[NodeStatus] = None
|
|
45
65
|
|
|
46
66
|
class Node(NodeBase):
|
|
47
67
|
id: Optional[int] = None
|
|
@@ -65,7 +85,7 @@ class NodeListItem(NodeBase):
|
|
|
65
85
|
|
|
66
86
|
class NodeResponse(NodeBase):
|
|
67
87
|
id: Optional[int] = None
|
|
68
|
-
asset: Asset
|
|
88
|
+
asset: Annotated[Union[Asset, AssetCluster], Field(discriminator="type")]
|
|
69
89
|
logical_node: LogicalNodeResponse
|
|
70
90
|
created_at: datetime
|
|
71
91
|
updated_at: Optional[datetime] = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|