acex-devkit 2.9.0__tar.gz → 2.10.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.9.0 → acex_devkit-2.10.0}/PKG-INFO +1 -1
  2. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/pyproject.toml +1 -1
  3. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/__init__.py +4 -2
  4. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/collection_agent.py +2 -1
  5. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/node_response.py +21 -5
  6. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/telemetry_agent.py +2 -1
  7. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/README.md +0 -0
  8. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/__init__.py +0 -0
  9. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/__init__.py +0 -0
  10. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/command.py +0 -0
  11. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
  12. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/diff.py +0 -0
  13. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
  14. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/configdiffer/old_diff.py +0 -0
  15. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/__init__.py +0 -0
  16. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/__init__.py +0 -0
  17. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/base.py +0 -0
  18. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst2950.py +0 -0
  19. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst2960.py +0 -0
  20. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst3500.py +0 -0
  21. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst3560.py +0 -0
  22. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst3650.py +0 -0
  23. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst3750.py +0 -0
  24. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst3850.py +0 -0
  25. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst4500.py +0 -0
  26. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst6500.py +0 -0
  27. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst6800.py +0 -0
  28. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst9200.py +0 -0
  29. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst9300.py +0 -0
  30. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst9400.py +0 -0
  31. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/catalyst9500.py +0 -0
  32. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/generic.py +0 -0
  33. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/industrial.py +0 -0
  34. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/modules.py +0 -0
  35. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/nexus9000.py +0 -0
  36. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/cisco/routers.py +0 -0
  37. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/fortinet/__init__.py +0 -0
  38. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/fortinet/base.py +0 -0
  39. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/fortinet/fortigate_f.py +0 -0
  40. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/__init__.py +0 -0
  41. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/base.py +0 -0
  42. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/ex2300.py +0 -0
  43. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/ex3400.py +0 -0
  44. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/ex4100.py +0 -0
  45. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/ex4400.py +0 -0
  46. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/ex4650.py +0 -0
  47. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/device_types/juniper/modules.py +0 -0
  48. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/drivers/__init__.py +0 -0
  49. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/drivers/base.py +0 -0
  50. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/drivers/base_driver.py +0 -0
  51. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/exceptions/__init__.py +0 -0
  52. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/acl_model.py +0 -0
  53. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/agent_manifest.py +0 -0
  54. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/ai_ops.py +0 -0
  55. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/asset.py +0 -0
  56. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/assignment.py +0 -0
  57. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/attribute_value.py +0 -0
  58. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/augment.py +0 -0
  59. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/auth_config.py +0 -0
  60. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/base.py +0 -0
  61. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/capability.py +0 -0
  62. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/compliance.py +0 -0
  63. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/composed_configuration.py +0 -0
  64. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/config_components.py +0 -0
  65. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/config_snapshot.py +0 -0
  66. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/contact.py +0 -0
  67. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/container_entry.py +0 -0
  68. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/credential.py +0 -0
  69. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/device_type.py +0 -0
  70. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/external_value.py +0 -0
  71. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/lldp_neighbor.py +0 -0
  72. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/lldp_topology.py +0 -0
  73. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/logging.py +0 -0
  74. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/logical_node.py +0 -0
  75. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/management_connection.py +0 -0
  76. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/ned.py +0 -0
  77. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/os_version.py +0 -0
  78. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/pagination.py +0 -0
  79. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/platform.py +0 -0
  80. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/reference.py +0 -0
  81. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/region.py +0 -0
  82. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/site.py +0 -0
  83. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/models/spanning_tree.py +0 -0
  84. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/normalizer/__init__.py +0 -0
  85. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/normalizer/base.py +0 -0
  86. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/normalizer/engine.py +0 -0
  87. {acex_devkit-2.9.0 → acex_devkit-2.10.0}/src/acex_devkit/os_versions.py +0 -0
  88. {acex_devkit-2.9.0 → acex_devkit-2.10.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.9.0
3
+ Version: 2.10.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.9.0"
3
+ version = "2.10.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"
@@ -118,10 +118,11 @@ from .management_connection import (
118
118
  from .ned import Ned
119
119
  from .node_response import (
120
120
  AssetRefType,
121
+ NodeAdminStatus,
121
122
  NodeCreate,
122
123
  NodeListItem,
124
+ NodeProvisionStatus,
123
125
  NodeResponse,
124
- NodeStatus,
125
126
  NodeUpdate,
126
127
  )
127
128
  from .pagination import PaginatedResponse
@@ -170,7 +171,8 @@ __all__ = [
170
171
  "NodeListItem",
171
172
  "NodeUpdate",
172
173
  "AssetRefType",
173
- "NodeStatus",
174
+ "NodeAdminStatus",
175
+ "NodeProvisionStatus",
174
176
  "CredentialBase",
175
177
  "CredentialFieldBase",
176
178
  "CredentialFieldResponse",
@@ -15,7 +15,8 @@ class CollectionAgentMatchRuleBase(BaseModel):
15
15
  site: str | None = None
16
16
  vendor: str | None = None
17
17
  os: str | None = None
18
- status: str | None = None
18
+ admin_status: str | None = None
19
+ provision_status: str | None = None
19
20
  role: str | None = None
20
21
 
21
22
 
@@ -18,18 +18,32 @@ class AssetRefType(StrEnum):
18
18
  asset_cluster = "asset_cluster"
19
19
 
20
20
 
21
- class NodeStatus(StrEnum):
21
+ class NodeAdminStatus(StrEnum):
22
+ """Operator intent for the node."""
23
+
22
24
  planned = "planned"
23
- init = "init"
24
25
  active = "active"
25
26
  decommissioned = "decommissioned"
26
27
 
27
28
 
29
+ class NodeProvisionStatus(StrEnum):
30
+ """Where the node's device is in the provisioning lifecycle. Set by the provisioning flow, not by operators."""
31
+
32
+ unprovisioned = "unprovisioned" # never provisioned by ACEX
33
+ adopted = "adopted" # brownfield: already running when brought under management
34
+ pending = "pending" # ZTP armed, waiting for the device to show up
35
+ bootstrapping = "bootstrapping" # bootstrap config fetched, waiting for SSH reachability
36
+ provisioning = "provisioning" # full config being pushed and verified
37
+ provisioned = "provisioned" # provisioned by ACEX and verified
38
+ failed = "failed"
39
+
40
+
28
41
  class NodeBase(BaseModel):
29
42
  asset_ref_id: int
30
43
  asset_ref_type: AssetRefType | None = None
31
44
  logical_node_id: int
32
- status: NodeStatus | None = None
45
+ admin_status: NodeAdminStatus | None = None
46
+ provision_status: NodeProvisionStatus | None = None
33
47
 
34
48
 
35
49
  class NodeListItem(PersistedResponse, NodeBase):
@@ -53,7 +67,8 @@ class NodeUpdate(BaseModel):
53
67
  asset_ref_id: int | None = None
54
68
  asset_ref_type: AssetRefType | None = None
55
69
  logical_node_id: int | None = None
56
- status: NodeStatus | None = None
70
+ admin_status: NodeAdminStatus | None = None
71
+ provision_status: NodeProvisionStatus | None = None
57
72
 
58
73
 
59
74
  class NodeResponse(PersistedResponse, NodeBase):
@@ -67,7 +82,8 @@ class NodeResponse(PersistedResponse, NodeBase):
67
82
  __all__ = [
68
83
  "LogicalNodeResponse",
69
84
  "AssetRefType",
70
- "NodeStatus",
85
+ "NodeAdminStatus",
86
+ "NodeProvisionStatus",
71
87
  "NodeBase",
72
88
  "NodeListItem",
73
89
  "NodeResponse",
@@ -30,7 +30,8 @@ class TelemetryAgentMatchRuleBase(BaseModel):
30
30
  site: str | None = None
31
31
  vendor: str | None = None
32
32
  os: str | None = None
33
- status: str | None = None
33
+ admin_status: str | None = None
34
+ provision_status: str | None = None
34
35
  role: str | None = None
35
36
 
36
37
 
File without changes