acex-devkit 1.3.4__tar.gz → 1.4.0__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.3.4 → acex_devkit-1.4.0}/PKG-INFO +1 -1
  2. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/pyproject.toml +1 -1
  3. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/__init__.py +2 -1
  4. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/composed_configuration.py +14 -3
  5. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/node_response.py +16 -0
  6. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/README.md +0 -0
  7. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/__init__.py +0 -0
  8. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/__init__.py +0 -0
  9. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/command.py +0 -0
  10. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
  11. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/diff.py +0 -0
  12. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
  13. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/configdiffer/old_diff.py +0 -0
  14. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/drivers/__init__.py +0 -0
  15. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/drivers/base.py +0 -0
  16. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/drivers/base_driver.py +0 -0
  17. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/exceptions/__init__.py +0 -0
  18. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/acl_model.py +0 -0
  19. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/attribute_value.py +0 -0
  20. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/container_entry.py +0 -0
  21. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/external_value.py +0 -0
  22. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/logging.py +0 -0
  23. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/ned.py +0 -0
  24. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/src/acex_devkit/models/spanning_tree.py +0 -0
  25. {acex_devkit-1.3.4 → acex_devkit-1.4.0}/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.3.4
3
+ Version: 1.4.0
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.3.4"
3
+ version = "1.4.0"
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"
@@ -5,11 +5,12 @@
5
5
 
6
6
  from .external_value import ExternalValue
7
7
  from .attribute_value import AttributeValue
8
- from .node_response import NodeResponse, LogicalNodeResponse
8
+ from .node_response import NodeResponse, NodeListItem, LogicalNodeResponse
9
9
 
10
10
  __all__ = [
11
11
  ExternalValue,
12
12
  AttributeValue,
13
13
  NodeResponse,
14
+ NodeListItem,
14
15
  LogicalNodeResponse
15
16
  ]
@@ -112,7 +112,18 @@ class Ssh(BaseModel):
112
112
  config: Optional[SshServer] = None
113
113
  host_keys: Optional[Dict[str, AuthorizedKey]] = {}
114
114
 
115
- class Lldp(BaseModel): ...
115
+ class LldpConfigAttributes(BaseModel):
116
+ enabled: Optional[AttributeValue[bool]] = None
117
+ transmit_interval: Optional[AttributeValue[int]] = None
118
+ hold_time: Optional[AttributeValue[int]] = None
119
+ system_name: Optional[AttributeValue[str]] = None # The system name field shall contain an alpha-numeric string that indicates the system's administratively assigned name.
120
+ suppress_tlv_advertisement: Optional[AttributeValue[List[str]]] = None # Comma-separated list of TLVs to suppress in advertisements. Values depend on device and vendor, but common ones include "system_name", "system_description", "system_capabilities", "management_address", etc.
121
+ interfaces: Optional[Dict[str, Reference]] = {}
122
+
123
+ #class Lldp(BaseModel):
124
+ # config: Optional[LldpConfigAttributes] = LldpConfigAttributes()
125
+ # #interfaces: Optional[Dict[str, LldpInterfaceConfigAttributes]] = {}
126
+ # interfaces: Optional[Dict[str, Reference]] = {}
116
127
 
117
128
  class Vlan(ContainerEntry, BaseModel):
118
129
  identity_fields: ClassVar[tuple[str, ...]] = ("vlan_id",)
@@ -166,7 +177,7 @@ class EthernetCsmacdInterface(Interface):
166
177
  voice_vlan: Optional[AttributeValue[int]] = None
167
178
  mtu: Optional[AttributeValue[int]] = None # No default set as it differs between devices and vendors
168
179
  negotiation: Optional[AttributeValue[bool]] = None
169
- lldp_enabled: Optional[AttributeValue[bool]] = None
180
+ #lldp_enabled: Optional[AttributeValue[bool]] = None
170
181
  cdp_enabled: Optional[AttributeValue[bool]] = None
171
182
 
172
183
  # LACP relaterade attribut
@@ -709,7 +720,7 @@ InterfaceType = Union[
709
720
  class ComposedConfiguration(BaseModel):
710
721
  system: Optional[System] = System()
711
722
  acl: Optional[Acl] = Acl()
712
- lldp: Optional[Lldp] = Lldp()
723
+ lldp: Optional[LldpConfigAttributes] = LldpConfigAttributes()
713
724
  lacp: Optional[Lacp] = Lacp()
714
725
  interfaces: Dict[str, InterfaceType] = {}
715
726
  network_instances: Dict[str, NetworkInstance] = {"global": NetworkInstance(name="global")}
@@ -48,7 +48,23 @@ class Node(NodeBase):
48
48
  created_at: Optional[datetime] = None
49
49
  updated_at: Optional[datetime] = None
50
50
 
51
+
52
+ class NodeListItem(NodeBase):
53
+ """Enriched list representation with denormalized fields from asset and logical_node."""
54
+ id: Optional[int] = None
55
+ # From logical_node
56
+ hostname: Optional[str] = None
57
+ site: Optional[str] = None
58
+ # From asset
59
+ vendor: Optional[str] = None
60
+ os: Optional[str] = None
61
+ ned_id: Optional[str] = None
62
+ created_at: Optional[datetime] = None
63
+ updated_at: Optional[datetime] = None
64
+
65
+
51
66
  class NodeResponse(NodeBase):
67
+ id: Optional[int] = None
52
68
  asset: Asset
53
69
  logical_node: LogicalNodeResponse
54
70
  created_at: datetime
File without changes