Adding upstream version 1.3.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
6fd6eb426a
commit
dc7df702ea
337 changed files with 16571 additions and 4891 deletions
72
anta/input_models/flow_tracking.py
Normal file
72
anta/input_models/flow_tracking.py
Normal file
|
@ -0,0 +1,72 @@
|
|||
# Copyright (c) 2023-2025 Arista Networks, Inc.
|
||||
# Use of this source code is governed by the Apache License 2.0
|
||||
# that can be found in the LICENSE file.
|
||||
"""Module containing input models for flow tracking tests."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class FlowTracker(BaseModel):
|
||||
"""Flow Tracking model representing the tracker details."""
|
||||
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
name: str
|
||||
"""The name of the flow tracker."""
|
||||
record_export: RecordExport | None = None
|
||||
"""Configuration for record export, specifying details about timeouts."""
|
||||
exporters: list[Exporter] | None = None
|
||||
"""A list of exporters associated with the flow tracker."""
|
||||
|
||||
def __str__(self) -> str:
|
||||
"""Return a human-readable string representation of the FlowTracker for reporting.
|
||||
|
||||
Examples
|
||||
--------
|
||||
Flow Tracker: FLOW-TRACKER
|
||||
|
||||
"""
|
||||
return f"Flow Tracker: {self.name}"
|
||||
|
||||
|
||||
class RecordExport(BaseModel):
|
||||
"""Model representing the record export configuration for a flow tracker."""
|
||||
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
on_inactive_timeout: int
|
||||
"""The timeout in milliseconds for exporting flow records when the flow becomes inactive."""
|
||||
on_interval: int
|
||||
"""The interval in milliseconds for exporting flow records."""
|
||||
|
||||
def __str__(self) -> str:
|
||||
"""Return a human-readable string representation of the RecordExport for reporting.
|
||||
|
||||
Examples
|
||||
--------
|
||||
Inactive Timeout: 60000, Active Interval: 300000
|
||||
|
||||
"""
|
||||
return f"Inactive Timeout: {self.on_inactive_timeout} Active Interval: {self.on_interval}"
|
||||
|
||||
|
||||
class Exporter(BaseModel):
|
||||
"""Model representing the exporter used for flow record export."""
|
||||
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
name: str
|
||||
"""The name of the exporter."""
|
||||
local_interface: str
|
||||
"""The local interface used by the exporter to send flow records."""
|
||||
template_interval: int
|
||||
"""The template interval, in milliseconds, for the exporter to refresh the flow template."""
|
||||
|
||||
def __str__(self) -> str:
|
||||
"""Return a human-readable string representation of the Exporter for reporting.
|
||||
|
||||
Examples
|
||||
--------
|
||||
Exporter: CVP-TELEMETRY
|
||||
|
||||
"""
|
||||
return f"Exporter: {self.name}"
|
Loading…
Add table
Add a link
Reference in a new issue