acex-devkit 1.14.0__tar.gz → 1.14.1__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 (29) hide show
  1. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/PKG-INFO +1 -1
  2. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/pyproject.toml +1 -1
  3. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/composed_configuration.py +49 -14
  4. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/README.md +0 -0
  5. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/__init__.py +0 -0
  6. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/__init__.py +0 -0
  7. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/command.py +0 -0
  8. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/configdiffer.py +0 -0
  9. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/diff.py +0 -0
  10. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/old_configdiffer.py +0 -0
  11. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/configdiffer/old_diff.py +0 -0
  12. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/drivers/__init__.py +0 -0
  13. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/drivers/base.py +0 -0
  14. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/drivers/base_driver.py +0 -0
  15. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/exceptions/__init__.py +0 -0
  16. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/__init__.py +0 -0
  17. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/acl_model.py +0 -0
  18. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/attribute_value.py +0 -0
  19. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/container_entry.py +0 -0
  20. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/external_value.py +0 -0
  21. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/logging.py +0 -0
  22. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/management_connection.py +0 -0
  23. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/ned.py +0 -0
  24. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/node_response.py +0 -0
  25. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/models/spanning_tree.py +0 -0
  26. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/normalizer/__init__.py +0 -0
  27. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/normalizer/base.py +0 -0
  28. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/src/acex_devkit/normalizer/engine.py +0 -0
  29. {acex_devkit-1.14.0 → acex_devkit-1.14.1}/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.14.0
3
+ Version: 1.14.1
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.14.0"
3
+ version = "1.14.1"
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"
@@ -389,7 +389,24 @@ class NetworkInstance(ContainerEntry, BaseModel):
389
389
  class LacpConfig(BaseModel):
390
390
  system_priority: Optional[AttributeValue[int]] = None
391
391
  system_id_mac: Optional[AttributeValue[str]] = None
392
- load_balance_algorithm: Optional[AttributeValue[list[Literal["src-mac", "dst-mac", "src-dst-mac", "src-ip", "dst-ip", "src-dst-ip", "src-port", "dst-port", "src-dst-port"]]]] = None
392
+ load_balance_algorithm: Optional[
393
+ AttributeValue[
394
+ list[
395
+ Literal[
396
+ "src-mac",
397
+ "dst-mac",
398
+ "src-dst-mac",
399
+ "src-ip",
400
+ "dst-ip",
401
+ "src-dst-ip",
402
+ "src-port",
403
+ "dst-port",
404
+ "src-dst-port",
405
+ ]
406
+ ]
407
+ ]
408
+ ] = None
409
+
393
410
 
394
411
  class Lacp(BaseModel):
395
412
  config: Optional[LacpConfig] = LacpConfig()
@@ -812,9 +829,12 @@ class NetflowFormat(str, Enum):
812
829
  NETFLOW_V9 = "NetFlow v9"
813
830
  NETFLOW_V5 = "NetFlow v5"
814
831
 
815
- class NetflowRecordIpv4Match(BaseModel):
832
+
833
+ class NetflowRecordIpv4Match(ContainerEntry, BaseModel):
834
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
835
+ name: AttributeValue[str]
816
836
  # Leaf-level ipv4 matches (Cisco style "match ipv4 <field>"). True = match this field, False = No. None = Ignore the field
817
- netflow_record: Optional[AttributeValue[str]] = None # Reference to parent record, used for easier access in config component
837
+ netflow_record: Optional[AttributeValue[str]] = None # Reference to parent record, used for easier access in config component
818
838
  dscp: Optional[AttributeValue[bool]] = None
819
839
  fragmentation: Optional[AttributeValue[bool]] = None
820
840
  header_length: Optional[AttributeValue[bool]] = None
@@ -829,35 +849,46 @@ class NetflowRecordIpv4Match(BaseModel):
829
849
  ttl: Optional[AttributeValue[bool]] = None
830
850
  version: Optional[AttributeValue[bool]] = None
831
851
 
832
- class NetflowRecordAttributes(BaseModel): # Cisco flow record
852
+
853
+ class NetflowRecordAttributes(ContainerEntry, BaseModel): # Cisco flow record
854
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
855
+ name: AttributeValue[str]
833
856
  match_ipv4: Optional[NetflowRecordIpv4Match] = None
834
- #match_ipv4: Optional[Dict[str, NetflowRecordIpv4Match]] = {}
857
+ # match_ipv4: Optional[Dict[str, NetflowRecordIpv4Match]] = {}
835
858
  application_name: Optional[AttributeValue[bool]] = None
836
859
 
837
860
  # Escape hatch for vendor-specific match knobs not yet modeled
838
- match_vendor_specific: Optional[AttributeValue[Dict[str, Any]]] = None # keeping a flexible option if needed. Not advertised to users.
861
+ match_vendor_specific: Optional[AttributeValue[Dict[str, Any]]] = None # keeping a flexible option if needed. Not advertised to users.
839
862
 
840
863
  collect_timestamp_absolute_first: Optional[AttributeValue[bool]] = None
841
864
  collect_timestamp_absolute_last: Optional[AttributeValue[bool]] = None
842
865
 
843
- class NetflowCollectorAttributes(BaseModel): # Cisco flow monitor
844
- netflow_record: Optional[AttributeValue[str]] = None # Reference to record, used for easier access in config component
845
- netflow_exporter: Optional[AttributeValue[str]] = None # Reference to exporter, used for easier access in config component
866
+
867
+ class NetflowCollectorAttributes(ContainerEntry, BaseModel): # Cisco flow monitor
868
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
869
+ name: AttributeValue[str]
870
+ records: Optional[Dict[str, Reference]] = {} # References to records, used for easier access in config component
871
+ exporters: Optional[Dict[str, Reference]] = {} # References to exporters, used for easier access in config component
846
872
  cache_inactive: Optional[AttributeValue[int]] = None
847
873
  cache_active: Optional[AttributeValue[int]] = None
848
874
  interfaces: Optional[Dict[str, Reference]] = {} # allow for disabling netflow on specific interfaces
849
875
 
850
- class NetflowExporterOptions(BaseModel):
876
+
877
+ class NetflowExporterOptions(ContainerEntry, BaseModel):
851
878
  # Mostly timeouts atm
879
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
880
+ name: AttributeValue[str]
852
881
  interface_table_timeout: Optional[AttributeValue[int]] = None
853
882
  vrf_table_timeout: Optional[AttributeValue[int]] = None
854
883
  sampler_table: Optional[AttributeValue[bool]] = None
855
884
  application_table_timeout: Optional[AttributeValue[int]] = None
856
885
  application_attributes_timeout: Optional[AttributeValue[int]] = None
857
- netflow_exporter: Optional[AttributeValue[str]] = None # Reference to parent exporter, used for easier access in config component
886
+ netflow_exporter: Optional[AttributeValue[str]] = None # Reference to parent exporter, used for easier access in config component
858
887
 
859
- class NetflowExporterAttributes(ContainerEntry, BaseModel): # Cisco flow exporter
860
- identity_fields: ClassVar[tuple[str, ...]] = ("address",)
888
+
889
+ class NetflowExporterAttributes(ContainerEntry, BaseModel): # Cisco flow exporter
890
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
891
+ name: AttributeValue[str]
861
892
  address: Optional[AttributeValue[str]] = None
862
893
  port: Optional[AttributeValue[int]] = None
863
894
  netflow_format: Optional[AttributeValue[str]] = None
@@ -865,10 +896,14 @@ class NetflowExporterAttributes(ContainerEntry, BaseModel): # Cisco flow exporte
865
896
  network_instance: Optional[AttributeValue[str]] = None
866
897
  options: Optional[NetflowExporterOptions] = None
867
898
 
868
- class NetflowGlobalConfigAttributes(BaseModel):
899
+
900
+ class NetflowGlobalConfigAttributes(ContainerEntry, BaseModel):
901
+ identity_fields: ClassVar[tuple[str, ...]] = ("name",)
902
+ name: AttributeValue[str]
869
903
  enabled: Optional[AttributeValue[bool]] = None
870
904
  version: Optional[AttributeValue[int]] = None
871
905
 
906
+
872
907
  class Netflow(BaseModel):
873
908
  config: Optional[NetflowGlobalConfigAttributes] = None
874
909
  records: Optional[Dict[str, NetflowRecordAttributes]] = {}
File without changes