acex-devkit 1.6.1__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.
Files changed (25) hide show
  1. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/PKG-INFO +1 -1
  2. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/pyproject.toml +1 -1
  3. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/node_response.py +22 -2
  4. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/README.md +0 -0
  5. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/__init__.py +0 -0
  6. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/__init__.py +0 -0
  7. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/command.py +0 -0
  8. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
  9. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/diff.py +0 -0
  10. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
  11. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/configdiffer/old_diff.py +0 -0
  12. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/drivers/__init__.py +0 -0
  13. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/drivers/base.py +0 -0
  14. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/drivers/base_driver.py +0 -0
  15. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/exceptions/__init__.py +0 -0
  16. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/__init__.py +0 -0
  17. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/acl_model.py +0 -0
  18. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/attribute_value.py +0 -0
  19. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/composed_configuration.py +0 -0
  20. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/container_entry.py +0 -0
  21. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/external_value.py +0 -0
  22. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/logging.py +0 -0
  23. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/ned.py +0 -0
  24. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/models/spanning_tree.py +0 -0
  25. {acex_devkit-1.6.1 → acex_devkit-1.6.2}/src/acex_devkit/types/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: acex-devkit
3
- Version: 1.6.1
3
+ Version: 1.6.2
4
4
  Summary: ACE-X DevKit - Development kit for building ACE-X drivers and plugins
5
5
  License: AGPL-3.0
6
6
  Keywords: automation,devkit,sdk,drivers,plugins
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "acex-devkit"
3
- version = "1.6.1"
3
+ version = "1.6.2"
4
4
  description = "ACE-X DevKit - Development kit for building ACE-X drivers and plugins"
5
5
  authors = ["Johan Lahti <johan.lahti@acebit.se>"]
6
6
  readme = "README.md"
@@ -1,5 +1,5 @@
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
@@ -17,6 +17,7 @@ class LogicalNodeResponse(BaseModel):
17
17
 
18
18
  class Asset(BaseModel):
19
19
  id: Optional[int] = None
20
+ type: Literal["asset"] = "asset"
20
21
  vendor: Optional[str] = None
21
22
  serial_number: Optional[str] = None
22
23
  os: Optional[str] = None
@@ -25,6 +26,25 @@ class Asset(BaseModel):
25
26
  ned_id: Optional[str] = None
26
27
 
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
44
+ ned_id: Optional[str] = None
45
+ assets: List[AssetClusterAsset] = []
46
+
47
+
28
48
  class AssetRefType(str, Enum):
29
49
  asset = "asset"
30
50
  asset_cluster = "asset_cluster"
@@ -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