acex-devkit 1.3.4__tar.gz → 1.5.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.
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/PKG-INFO +1 -1
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/pyproject.toml +1 -1
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/__init__.py +2 -1
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/composed_configuration.py +23 -4
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/node_response.py +16 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/README.md +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/__init__.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/__init__.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/command.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/diff.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/configdiffer/old_diff.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/drivers/__init__.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/drivers/base.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/drivers/base_driver.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/exceptions/__init__.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/acl_model.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/attribute_value.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/container_entry.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/external_value.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/logging.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/ned.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/models/spanning_tree.py +0 -0
- {acex_devkit-1.3.4 → acex_devkit-1.5.0}/src/acex_devkit/types/__init__.py +0 -0
|
@@ -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,25 @@ class Ssh(BaseModel):
|
|
|
112
112
|
config: Optional[SshServer] = None
|
|
113
113
|
host_keys: Optional[Dict[str, AuthorizedKey]] = {}
|
|
114
114
|
|
|
115
|
-
class
|
|
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 CdpConfigAttributes(BaseModel):
|
|
124
|
+
enabled: Optional[AttributeValue[bool]] = None
|
|
125
|
+
transmit_interval: Optional[AttributeValue[int]] = None
|
|
126
|
+
hold_time: Optional[AttributeValue[int]] = None
|
|
127
|
+
advertise_v2: Optional[AttributeValue[bool]] = None # Whether to advertise CDP version 2
|
|
128
|
+
interfaces: Optional[Dict[str, Reference]] = {}
|
|
129
|
+
|
|
130
|
+
#class Lldp(BaseModel):
|
|
131
|
+
# config: Optional[LldpConfigAttributes] = LldpConfigAttributes()
|
|
132
|
+
# #interfaces: Optional[Dict[str, LldpInterfaceConfigAttributes]] = {}
|
|
133
|
+
# interfaces: Optional[Dict[str, Reference]] = {}
|
|
116
134
|
|
|
117
135
|
class Vlan(ContainerEntry, BaseModel):
|
|
118
136
|
identity_fields: ClassVar[tuple[str, ...]] = ("vlan_id",)
|
|
@@ -166,8 +184,8 @@ class EthernetCsmacdInterface(Interface):
|
|
|
166
184
|
voice_vlan: Optional[AttributeValue[int]] = None
|
|
167
185
|
mtu: Optional[AttributeValue[int]] = None # No default set as it differs between devices and vendors
|
|
168
186
|
negotiation: Optional[AttributeValue[bool]] = None
|
|
169
|
-
lldp_enabled: Optional[AttributeValue[bool]] = None
|
|
170
|
-
cdp_enabled: Optional[AttributeValue[bool]] = None
|
|
187
|
+
#lldp_enabled: Optional[AttributeValue[bool]] = None
|
|
188
|
+
#cdp_enabled: Optional[AttributeValue[bool]] = None
|
|
171
189
|
|
|
172
190
|
# LACP relaterade attribut
|
|
173
191
|
aggregate_id: Optional[AttributeValue[int]] = None
|
|
@@ -709,7 +727,8 @@ InterfaceType = Union[
|
|
|
709
727
|
class ComposedConfiguration(BaseModel):
|
|
710
728
|
system: Optional[System] = System()
|
|
711
729
|
acl: Optional[Acl] = Acl()
|
|
712
|
-
lldp: Optional[
|
|
730
|
+
lldp: Optional[LldpConfigAttributes] = LldpConfigAttributes()
|
|
731
|
+
cdp: Optional[CdpConfigAttributes] = CdpConfigAttributes()
|
|
713
732
|
lacp: Optional[Lacp] = Lacp()
|
|
714
733
|
interfaces: Dict[str, InterfaceType] = {}
|
|
715
734
|
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
|
|
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
|