acex-devkit 2.7.0__tar.gz → 2.8.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-2.7.0 → acex_devkit-2.8.0}/PKG-INFO +1 -1
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/pyproject.toml +1 -1
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/telemetry_agent.py +31 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/README.md +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/command.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/diff.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/configdiffer/old_diff.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst2950.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst2960.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst3500.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst3560.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst3650.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst3750.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst3850.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst4500.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst6500.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst6800.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst9200.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst9300.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst9400.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/catalyst9500.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/generic.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/industrial.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/modules.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/nexus9000.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/cisco/routers.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/fortinet/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/fortinet/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/fortinet/fortigate_f.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/ex2300.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/ex3400.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/ex4100.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/ex4400.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/ex4650.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/juniper/modules.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/drivers/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/drivers/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/drivers/base_driver.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/exceptions/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/acl_model.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/agent_manifest.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/ai_ops.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/asset.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/assignment.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/attribute_value.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/augment.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/auth_config.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/capability.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/collection_agent.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/compliance.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/composed_configuration.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/config_components.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/config_snapshot.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/contact.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/container_entry.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/credential.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/device_type.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/external_value.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/lldp_neighbor.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/lldp_topology.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/logging.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/logical_node.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/management_connection.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/ned.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/node_response.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/os_version.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/pagination.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/platform.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/reference.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/region.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/site.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/models/spanning_tree.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/normalizer/__init__.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/normalizer/base.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/normalizer/engine.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/os_versions.py +0 -0
- {acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/types/__init__.py +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from enum import StrEnum
|
|
2
|
+
from typing import Literal
|
|
2
3
|
|
|
3
4
|
from pydantic import BaseModel
|
|
4
5
|
|
|
@@ -79,6 +80,32 @@ class TelemetryAgentAck(BaseModel):
|
|
|
79
80
|
config_revision: int
|
|
80
81
|
|
|
81
82
|
|
|
83
|
+
class CapabilityCoverage(BaseModel):
|
|
84
|
+
"""Whether one node-scoped capability made it into the agent's config.
|
|
85
|
+
|
|
86
|
+
For `skipped`, `reason` is a stable code (e.g. "no_management_ip",
|
|
87
|
+
"no_logical_node", "component_error") and `detail` carries free-text
|
|
88
|
+
context when available.
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
status: Literal["rendered", "skipped"]
|
|
92
|
+
reason: str | None = None
|
|
93
|
+
detail: str | None = None
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class NodeCoverage(BaseModel):
|
|
97
|
+
"""One node the agent covers, and which capabilities are rendered for it.
|
|
98
|
+
|
|
99
|
+
`capabilities` holds only granted, node-scoped capabilities (e.g. icmp,
|
|
100
|
+
snmp) — agent-level listeners such as snmp_trap/syslog are not per node.
|
|
101
|
+
"""
|
|
102
|
+
|
|
103
|
+
node_id: int
|
|
104
|
+
hostname: str | None = None
|
|
105
|
+
source: Literal["explicit", "rule", "both"]
|
|
106
|
+
capabilities: dict[TelemetryCapability, CapabilityCoverage] = {}
|
|
107
|
+
|
|
108
|
+
|
|
82
109
|
class TelemetryAgentResponse(PersistedResponse, TelemetryAgentBase):
|
|
83
110
|
config_revision: int = 0
|
|
84
111
|
last_config_poll: str | None = None
|
|
@@ -88,6 +115,8 @@ class TelemetryAgentResponse(PersistedResponse, TelemetryAgentBase):
|
|
|
88
115
|
nodes: list[int] = []
|
|
89
116
|
rules: list[TelemetryAgentMatchRuleResponse] = []
|
|
90
117
|
resolved_nodes: list[int] = []
|
|
118
|
+
# Only populated on single-agent reads (GET /agents/{id}); empty in listings.
|
|
119
|
+
node_coverage: list[NodeCoverage] = []
|
|
91
120
|
|
|
92
121
|
|
|
93
122
|
__all__ = [
|
|
@@ -102,4 +131,6 @@ __all__ = [
|
|
|
102
131
|
"TelemetryAgentMatchRuleResponse",
|
|
103
132
|
"TelemetryAgentResponse",
|
|
104
133
|
"TelemetryAgentUpdate",
|
|
134
|
+
"CapabilityCoverage",
|
|
135
|
+
"NodeCoverage",
|
|
105
136
|
]
|
|
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
|
|
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
|
{acex_devkit-2.7.0 → acex_devkit-2.8.0}/src/acex_devkit/device_types/fortinet/fortigate_f.py
RENAMED
|
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
|
|
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
|
|
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
|