acex-devkit 2.8.0__tar.gz → 2.9.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 (88) hide show
  1. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/PKG-INFO +1 -1
  2. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/pyproject.toml +1 -1
  3. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/__init__.py +4 -0
  4. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/agent_manifest.py +19 -0
  5. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/README.md +0 -0
  6. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/__init__.py +0 -0
  7. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/__init__.py +0 -0
  8. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/command.py +0 -0
  9. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
  10. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/diff.py +0 -0
  11. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
  12. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/configdiffer/old_diff.py +0 -0
  13. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/__init__.py +0 -0
  14. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/__init__.py +0 -0
  15. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/base.py +0 -0
  16. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst2950.py +0 -0
  17. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst2960.py +0 -0
  18. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst3500.py +0 -0
  19. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst3560.py +0 -0
  20. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst3650.py +0 -0
  21. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst3750.py +0 -0
  22. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst3850.py +0 -0
  23. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst4500.py +0 -0
  24. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst6500.py +0 -0
  25. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst6800.py +0 -0
  26. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst9200.py +0 -0
  27. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst9300.py +0 -0
  28. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst9400.py +0 -0
  29. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/catalyst9500.py +0 -0
  30. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/generic.py +0 -0
  31. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/industrial.py +0 -0
  32. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/modules.py +0 -0
  33. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/nexus9000.py +0 -0
  34. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/cisco/routers.py +0 -0
  35. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/fortinet/__init__.py +0 -0
  36. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/fortinet/base.py +0 -0
  37. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/fortinet/fortigate_f.py +0 -0
  38. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/__init__.py +0 -0
  39. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/base.py +0 -0
  40. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/ex2300.py +0 -0
  41. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/ex3400.py +0 -0
  42. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/ex4100.py +0 -0
  43. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/ex4400.py +0 -0
  44. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/ex4650.py +0 -0
  45. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/device_types/juniper/modules.py +0 -0
  46. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/drivers/__init__.py +0 -0
  47. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/drivers/base.py +0 -0
  48. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/drivers/base_driver.py +0 -0
  49. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/exceptions/__init__.py +0 -0
  50. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/acl_model.py +0 -0
  51. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/ai_ops.py +0 -0
  52. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/asset.py +0 -0
  53. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/assignment.py +0 -0
  54. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/attribute_value.py +0 -0
  55. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/augment.py +0 -0
  56. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/auth_config.py +0 -0
  57. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/base.py +0 -0
  58. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/capability.py +0 -0
  59. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/collection_agent.py +0 -0
  60. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/compliance.py +0 -0
  61. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/composed_configuration.py +0 -0
  62. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/config_components.py +0 -0
  63. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/config_snapshot.py +0 -0
  64. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/contact.py +0 -0
  65. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/container_entry.py +0 -0
  66. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/credential.py +0 -0
  67. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/device_type.py +0 -0
  68. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/external_value.py +0 -0
  69. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/lldp_neighbor.py +0 -0
  70. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/lldp_topology.py +0 -0
  71. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/logging.py +0 -0
  72. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/logical_node.py +0 -0
  73. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/management_connection.py +0 -0
  74. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/ned.py +0 -0
  75. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/node_response.py +0 -0
  76. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/os_version.py +0 -0
  77. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/pagination.py +0 -0
  78. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/platform.py +0 -0
  79. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/reference.py +0 -0
  80. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/region.py +0 -0
  81. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/site.py +0 -0
  82. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/spanning_tree.py +0 -0
  83. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/models/telemetry_agent.py +0 -0
  84. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/normalizer/__init__.py +0 -0
  85. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/normalizer/base.py +0 -0
  86. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/normalizer/engine.py +0 -0
  87. {acex_devkit-2.8.0 → acex_devkit-2.9.0}/src/acex_devkit/os_versions.py +0 -0
  88. {acex_devkit-2.8.0 → acex_devkit-2.9.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: 2.8.0
3
+ Version: 2.9.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 = "2.8.0"
3
+ version = "2.9.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"
@@ -3,6 +3,8 @@
3
3
  from .agent_manifest import (
4
4
  AckResult,
5
5
  AgentConfigResponse,
6
+ AgentNodeSet,
7
+ AgentNodeSetResult,
6
8
  CollectionAgentManifest,
7
9
  ManifestTarget,
8
10
  )
@@ -207,6 +209,8 @@ __all__ = [
207
209
  "ManifestTarget",
208
210
  "AckResult",
209
211
  "AgentConfigResponse",
212
+ "AgentNodeSet",
213
+ "AgentNodeSetResult",
210
214
  "LldpNeighborBase",
211
215
  "LldpNeighborEntry",
212
216
  "LldpNeighborUpload",
@@ -34,3 +34,22 @@ class AgentConfigResponse(BaseModel):
34
34
  """Rendered config text (TOML) for a telemetry agent."""
35
35
 
36
36
  config: str
37
+
38
+
39
+ class AgentNodeSet(BaseModel):
40
+ """Declarative explicit-node membership for an agent (PUT …/nodes).
41
+
42
+ `node_ids` replaces the agent's explicit node links; an empty list removes
43
+ all. Rule-matched nodes are unaffected. When `expected_revision` is given
44
+ and differs from the agent's current `config_revision`, the request is
45
+ rejected with 409 so concurrent edits don't silently overwrite each other.
46
+ """
47
+
48
+ node_ids: list[int]
49
+ expected_revision: int | None = None
50
+
51
+
52
+ class AgentNodeSetResult(BaseModel):
53
+ added: list[int] = []
54
+ removed: list[int] = []
55
+ config_revision: int
File without changes