Merging upstream version 1.3.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -14,8 +14,8 @@ ANTA is a Python library that can be used in user applications. This section des
|
|||
A device is represented in ANTA as a instance of a subclass of the [AntaDevice](../api/device.md#anta.device.AntaDevice) abstract class.
|
||||
There are few abstract methods that needs to be implemented by child classes:
|
||||
|
||||
- The [collect()](../api/device.md#anta.device.AntaDevice.collect) coroutine is in charge of collecting outputs of [AntaCommand](../api/models.md#anta.models.AntaCommand) instances.
|
||||
- The [refresh()](../api/device.md#anta.device.AntaDevice.refresh) coroutine is in charge of updating attributes of the [AntaDevice](../api/device.md#anta.device.AntaDevice) instance. These attributes are used by [AntaInventory](../api/inventory.md#anta.inventory.AntaInventory) to filter out unreachable devices or by [AntaTest](../api/models.md#anta.models.AntaTest) to skip devices based on their hardware models.
|
||||
- The [collect()](../api/device.md#anta.device.AntaDevice.collect) coroutine is in charge of collecting outputs of [AntaCommand](../api/commands.md#anta.models.AntaCommand) instances.
|
||||
- The [refresh()](../api/device.md#anta.device.AntaDevice.refresh) coroutine is in charge of updating attributes of the [AntaDevice](../api/device.md#anta.device.AntaDevice) instance. These attributes are used by [AntaInventory](../api/inventory.md#anta.inventory.AntaInventory) to filter out unreachable devices or by [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) to skip devices based on their hardware models.
|
||||
|
||||
The [copy()](../api/device.md#anta.device.AntaDevice.copy) coroutine is used to copy files to and from the device. It does not need to be implemented if tests are not using it.
|
||||
|
||||
|
@ -24,7 +24,7 @@ The [copy()](../api/device.md#anta.device.AntaDevice.copy) coroutine is used to
|
|||
The [AsyncEOSDevice](../api/device.md#anta.device.AsyncEOSDevice) class is an implementation of [AntaDevice](../api/device.md#anta.device.AntaDevice) for Arista EOS.
|
||||
It uses the [aio-eapi](https://github.com/jeremyschulman/aio-eapi) eAPI client and the [AsyncSSH](https://github.com/ronf/asyncssh) library.
|
||||
|
||||
- The [_collect()](../api/device.md#anta.device.AsyncEOSDevice._collect) coroutine collects [AntaCommand](../api/models.md#anta.models.AntaCommand) outputs using eAPI.
|
||||
- The [\_collect()](../api/device.md#anta.device.AsyncEOSDevice._collect) coroutine collects [AntaCommand](../api/models.md#anta.models.AntaCommand) outputs using eAPI.
|
||||
- The [refresh()](../api/device.md#anta.device.AsyncEOSDevice.refresh) coroutine tries to open a TCP connection on the eAPI port and update the `is_online` attribute accordingly. If the TCP connection succeeds, it sends a `show version` command to gather the hardware model of the device and updates the `established` and `hw_model` attributes.
|
||||
- The [copy()](../api/device.md#anta.device.AsyncEOSDevice.copy) coroutine copies files to and from the device using the SCP protocol.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -8,30 +8,17 @@ ANTA is a streamlined Python framework designed for efficient interaction with n
|
|||
|
||||
## Configuration
|
||||
|
||||
By default, ANTA utilizes [aiocache](https://github.com/aio-libs/aiocache)'s memory cache backend, also called [`SimpleMemoryCache`](https://aiocache.aio-libs.org/en/v0.12.2/caches.html#simplememorycache). This library aims for simplicity and supports asynchronous operations to go along with Python `asyncio` used in ANTA.
|
||||
|
||||
The `_init_cache()` method of the [AntaDevice](../api/device.md#anta.device.AntaDevice) abstract class initializes the cache. Child classes can override this method to tweak the cache configuration:
|
||||
|
||||
```python
|
||||
def _init_cache(self) -> None:
|
||||
"""
|
||||
Initialize cache for the device, can be overridden by subclasses to manipulate how it works
|
||||
"""
|
||||
self.cache = Cache(cache_class=Cache.MEMORY, ttl=60, namespace=self.name, plugins=[HitMissRatioPlugin()])
|
||||
self.cache_locks = defaultdict(asyncio.Lock)
|
||||
```
|
||||
|
||||
The cache is also configured with `aiocache`'s [`HitMissRatioPlugin`](https://aiocache.aio-libs.org/en/v0.12.2/plugins.html#hitmissratioplugin) plugin to calculate the ratio of hits the cache has and give useful statistics for logging purposes in ANTA.
|
||||
|
||||
## Cache key design
|
||||
|
||||
The cache is initialized per `AntaDevice` and uses the following cache key design:
|
||||
|
||||
`<device_name>:<uid>`
|
||||
|
||||
The `uid` is an attribute of [AntaCommand](../api/models.md#anta.models.AntaCommand), which is a unique identifier generated from the command, version, revision and output format.
|
||||
The `uid` is an attribute of [AntaCommand](../api/commands.md#anta.models.AntaCommand), which is a unique identifier generated from the command, version, revision and output format.
|
||||
|
||||
Each UID has its own asyncio lock. This design allows coroutines that need to access the cache for different UIDs to do so concurrently. The locks are managed by the `self.cache_locks` dictionary.
|
||||
Each UID has its own asyncio lock. This design allows coroutines that need to access the cache for different UIDs to do so concurrently. The locks are managed by the `AntaCache.locks` dictionary.
|
||||
|
||||
## Mechanisms
|
||||
|
||||
|
@ -45,37 +32,37 @@ There might be scenarios where caching is not wanted. You can disable caching in
|
|||
|
||||
1. Caching can be disabled globally, for **ALL** commands on **ALL** devices, using the `--disable-cache` global flag when invoking anta at the [CLI](../cli/overview.md#invoking-anta-cli):
|
||||
|
||||
```bash
|
||||
anta --disable-cache --username arista --password arista nrfu table
|
||||
```
|
||||
```bash
|
||||
anta --disable-cache --username arista --password arista nrfu table
|
||||
```
|
||||
|
||||
2. Caching can be disabled per device, network or range by setting the `disable_cache` key to `True` when defining the ANTA [Inventory](../usage-inventory-catalog.md#device-inventory) file:
|
||||
|
||||
```yaml
|
||||
anta_inventory:
|
||||
hosts:
|
||||
- host: 172.20.20.101
|
||||
name: DC1-SPINE1
|
||||
tags: ["SPINE", "DC1"]
|
||||
disable_cache: True # Set this key to True
|
||||
- host: 172.20.20.102
|
||||
name: DC1-SPINE2
|
||||
tags: ["SPINE", "DC1"]
|
||||
disable_cache: False # Optional since it's the default
|
||||
```yaml
|
||||
anta_inventory:
|
||||
hosts:
|
||||
- host: 172.20.20.101
|
||||
name: DC1-SPINE1
|
||||
tags: ["SPINE", "DC1"]
|
||||
disable_cache: True # Set this key to True
|
||||
- host: 172.20.20.102
|
||||
name: DC1-SPINE2
|
||||
tags: ["SPINE", "DC1"]
|
||||
disable_cache: False # Optional since it's the default
|
||||
|
||||
networks:
|
||||
- network: "172.21.21.0/24"
|
||||
disable_cache: True
|
||||
networks:
|
||||
- network: "172.21.21.0/24"
|
||||
disable_cache: True
|
||||
|
||||
ranges:
|
||||
- start: 172.22.22.10
|
||||
end: 172.22.22.19
|
||||
disable_cache: True
|
||||
```
|
||||
ranges:
|
||||
- start: 172.22.22.10
|
||||
end: 172.22.22.19
|
||||
disable_cache: True
|
||||
```
|
||||
|
||||
This approach effectively disables caching for **ALL** commands sent to devices targeted by the `disable_cache` key.
|
||||
This approach effectively disables caching for **ALL** commands sent to devices targeted by the `disable_cache` key.
|
||||
|
||||
3. For tests developers, caching can be disabled for a specific [`AntaCommand`](../api/models.md#anta.models.AntaCommand) or [`AntaTemplate`](../api/models.md#anta.models.AntaTemplate) by setting the `use_cache` attribute to `False`. That means the command output will always be collected on the device and therefore, never use caching.
|
||||
3. For tests developers, caching can be disabled for a specific [`AntaCommand`](../api/commands.md#anta.models.AntaCommand) or [`AntaTemplate`](../api/commands.md#anta.models.AntaTemplate) by setting the `use_cache` attribute to `False`. That means the command output will always be collected on the device and therefore, never use caching.
|
||||
|
||||
### Disable caching in a child class of `AntaDevice`
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -13,7 +13,7 @@ ANTA is not only a Python library with a CLI and a collection of built-in tests,
|
|||
|
||||
A test is a Python class where a test function is defined and will be run by the framework.
|
||||
|
||||
ANTA provides an abstract class [AntaTest](../api/models.md#anta.models.AntaTest). This class does the heavy lifting and provide the logic to define, collect and test data. The code below is an example of a simple test in ANTA, which is an [AntaTest](../api/models.md#anta.models.AntaTest) subclass:
|
||||
ANTA provides an abstract class [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest). This class does the heavy lifting and provide the logic to define, collect and test data. The code below is an example of a simple test in ANTA, which is an [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) subclass:
|
||||
|
||||
````python
|
||||
from anta.models import AntaTest, AntaCommand
|
||||
|
@ -51,18 +51,18 @@ class VerifyTemperature(AntaTest):
|
|||
self.result.is_failure(f"Device temperature exceeds acceptable limits. Current system status: '{temperature_status}'")
|
||||
````
|
||||
|
||||
[AntaTest](../api/models.md#anta.models.AntaTest) also provide more advanced capabilities like [AntaCommand](../api/models.md#anta.models.AntaCommand) templating using the [AntaTemplate](../api/models.md#anta.models.AntaTemplate) class or test inputs definition and validation using [AntaTest.Input](../api/models.md#anta.models.AntaTest.Input) [pydantic](https://docs.pydantic.dev/latest/) model. This will be discussed in the sections below.
|
||||
[AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) also provide more advanced capabilities like [AntaCommand](../api/commands.md#anta.models.AntaCommand) templating using the [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) class or test inputs definition and validation using [AntaTest.Input](../api/tests/anta_test.md#anta.models.AntaTest.Input) [pydantic](https://docs.pydantic.dev/latest/) model. This will be discussed in the sections below.
|
||||
|
||||
## AntaTest structure
|
||||
|
||||
Full AntaTest API documentation is available in the [API documentation section](../api/models.md#anta.models.AntaTest)
|
||||
Full AntaTest API documentation is available in the [API documentation section](../api/tests/anta_test.md#anta.models.AntaTest)
|
||||
|
||||
### Class Attributes
|
||||
|
||||
- `name` (`str`, `optional`): Name of the test. Used during reporting. By default set to the Class name.
|
||||
- `description` (`str`, `optional`): A human readable description of your test. By default set to the first line of the docstring.
|
||||
- `categories` (`list[str]`): A list of categories in which the test belongs.
|
||||
- `commands` (`[list[AntaCommand | AntaTemplate]]`): A list of command to collect from devices. This list **must** be a list of [AntaCommand](../api/models.md#anta.models.AntaCommand) or [AntaTemplate](../api/models.md#anta.models.AntaTemplate) instances. Rendering [AntaTemplate](../api/models.md#anta.models.AntaTemplate) instances will be discussed later.
|
||||
- `commands` (`[list[AntaCommand | AntaTemplate]]`): A list of command to collect from devices. This list **must** be a list of [AntaCommand](../api/commands.md#anta.models.AntaCommand) or [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) instances. Rendering [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) instances will be discussed later.
|
||||
|
||||
> [!INFO]
|
||||
> All these class attributes are mandatory. If any attribute is missing, a `NotImplementedError` exception will be raised during class instantiation.
|
||||
|
@ -86,7 +86,7 @@ Full AntaTest API documentation is available in the [API documentation section](
|
|||
>
|
||||
> - **Logger object**
|
||||
>
|
||||
> ANTA already provides comprehensive logging at every steps of a test execution. The [AntaTest](../api/models.md#anta.models.AntaTest) class also provides a `logger` attribute that is a Python logger specific to the test instance. See [Python documentation](https://docs.python.org/3/library/logging.html) for more information.
|
||||
> ANTA already provides comprehensive logging at every steps of a test execution. The [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) class also provides a `logger` attribute that is a Python logger specific to the test instance. See [Python documentation](https://docs.python.org/3/library/logging.html) for more information.
|
||||
>
|
||||
> - **AntaDevice object**
|
||||
>
|
||||
|
@ -94,13 +94,13 @@ Full AntaTest API documentation is available in the [API documentation section](
|
|||
|
||||
### Test Inputs
|
||||
|
||||
[AntaTest.Input](../api/models.md#anta.models.AntaTest.Input) is a [pydantic model](https://docs.pydantic.dev/latest/usage/models/) that allow test developers to define their test inputs. [pydantic](https://docs.pydantic.dev/latest/) provides out of the box [error handling](https://docs.pydantic.dev/latest/usage/models/#error-handling) for test input validation based on the type hints defined by the test developer.
|
||||
[AntaTest.Input](../api/tests/anta_test.md#anta.models.AntaTest.Input) is a [pydantic model](https://docs.pydantic.dev/latest/usage/models/) that allow test developers to define their test inputs. [pydantic](https://docs.pydantic.dev/latest/) provides out of the box [error handling](https://docs.pydantic.dev/latest/usage/models/#error-handling) for test input validation based on the type hints defined by the test developer.
|
||||
|
||||
The base definition of [AntaTest.Input](../api/models.md#anta.models.AntaTest.Input) provides common test inputs for all [AntaTest](../api/models.md#anta.models.AntaTest) instances:
|
||||
The base definition of [AntaTest.Input](../api/tests/anta_test.md#anta.models.AntaTest.Input) provides common test inputs for all [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) instances:
|
||||
|
||||
#### Input model
|
||||
|
||||
Full `Input` model documentation is available in [API documentation section](../api/models.md#anta.models.AntaTest.Input)
|
||||
Full `Input` model documentation is available in [API documentation section](../api/tests/anta_test.md#anta.models.AntaTest.Input)
|
||||
|
||||
::: anta.models.AntaTest.Input
|
||||
options:
|
||||
|
@ -118,7 +118,7 @@ Full `Input` model documentation is available in [API documentation section](../
|
|||
|
||||
#### ResultOverwrite model
|
||||
|
||||
Full `ResultOverwrite` model documentation is available in [API documentation section](../api/models.md#anta.models.AntaTest.Input.ResultOverwrite)
|
||||
Full `ResultOverwrite` model documentation is available in [API documentation section](../api/tests/anta_test.md#anta.models.AntaTest.Input.ResultOverwrite)
|
||||
|
||||
::: anta.models.AntaTest.Input.ResultOverwrite
|
||||
options:
|
||||
|
@ -138,31 +138,31 @@ Full `ResultOverwrite` model documentation is available in [API documentation se
|
|||
|
||||
### Methods
|
||||
|
||||
- [test(self) -> None](../api/models.md#anta.models.AntaTest.test): This is an abstract method that **must** be implemented. It contains the test logic that can access the collected command outputs using the `instance_commands` instance attribute, access the test inputs using the `inputs` instance attribute and **must** set the `result` instance attribute accordingly. It must be implemented using the `AntaTest.anta_test` decorator that provides logging and will collect commands before executing the `test()` method.
|
||||
- [render(self, template: AntaTemplate) -> list[AntaCommand]](../api/models.md#anta.models.AntaTest.render): This method only needs to be implemented if [AntaTemplate](../api/models.md#anta.models.AntaTemplate) instances are present in the `commands` class attribute. It will be called for every [AntaTemplate](../api/models.md#anta.models.AntaTemplate) occurrence and **must** return a list of [AntaCommand](../api/models.md#anta.models.AntaCommand) using the [AntaTemplate.render()](../api/models.md#anta.models.AntaTemplate.render) method. It can access test inputs using the `inputs` instance attribute.
|
||||
- [test(self) -> None](../api/tests/anta_test.md#anta.models.AntaTest.test): This is an abstract method that **must** be implemented. It contains the test logic that can access the collected command outputs using the `instance_commands` instance attribute, access the test inputs using the `inputs` instance attribute and **must** set the `result` instance attribute accordingly. It must be implemented using the `AntaTest.anta_test` decorator that provides logging and will collect commands before executing the `test()` method.
|
||||
- [render(self, template: AntaTemplate) -> list[AntaCommand]](../api/tests/anta_test.md#anta.models.AntaTest.render): This method only needs to be implemented if [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) instances are present in the `commands` class attribute. It will be called for every [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) occurrence and **must** return a list of [AntaCommand](../api/commands.md#anta.models.AntaCommand) using the [AntaTemplate.render()](../api/commands.md#anta.models.AntaTemplate.render) method. It can access test inputs using the `inputs` instance attribute.
|
||||
|
||||
## Test execution
|
||||
|
||||
Below is a high level description of the test execution flow in ANTA:
|
||||
|
||||
1. ANTA will parse the test catalog to get the list of [AntaTest](../api/models.md#anta.models.AntaTest) subclasses to instantiate and their associated input values. We consider a single [AntaTest](../api/models.md#anta.models.AntaTest) subclass in the following steps.
|
||||
1. ANTA will parse the test catalog to get the list of [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) subclasses to instantiate and their associated input values. We consider a single [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) subclass in the following steps.
|
||||
|
||||
2. ANTA will instantiate the [AntaTest](../api/models.md#anta.models.AntaTest) subclass and a single device will be provided to the test instance. The `Input` model defined in the class will also be instantiated at this moment. If any [ValidationError](https://docs.pydantic.dev/latest/errors/errors/) is raised, the test execution will be stopped.
|
||||
2. ANTA will instantiate the [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) subclass and a single device will be provided to the test instance. The `Input` model defined in the class will also be instantiated at this moment. If any [ValidationError](https://docs.pydantic.dev/latest/errors/errors/) is raised, the test execution will be stopped.
|
||||
|
||||
3. If there is any [AntaTemplate](../api/models.md#anta.models.AntaTemplate) instance in the `commands` class attribute, [render()](../api/models.md#anta.models.AntaTest.render) will be called for every occurrence. At this moment, the `instance_commands` attribute has been initialized. If any rendering error occurs, the test execution will be stopped.
|
||||
3. If there is any [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) instance in the `commands` class attribute, [render()](../api/tests/anta_test.md#anta.models.AntaTest.render) will be called for every occurrence. At this moment, the `instance_commands` attribute has been initialized. If any rendering error occurs, the test execution will be stopped.
|
||||
|
||||
4. The `AntaTest.anta_test` decorator will collect the commands from the device and update the `instance_commands` attribute with the outputs. If any collection error occurs, the test execution will be stopped.
|
||||
|
||||
5. The [test()](../api/models.md#anta.models.AntaTest.test) method is executed.
|
||||
5. The [test()](../api/tests/anta_test.md#anta.models.AntaTest.test) method is executed.
|
||||
|
||||
## Writing an AntaTest subclass
|
||||
|
||||
In this section, we will go into all the details of writing an [AntaTest](../api/models.md#anta.models.AntaTest) subclass.
|
||||
In this section, we will go into all the details of writing an [AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) subclass.
|
||||
|
||||
### Class definition
|
||||
|
||||
Import [anta.models.AntaTest](../api/models.md#anta.models.AntaTest) and define your own class.
|
||||
Define the mandatory class attributes using [anta.models.AntaCommand](../api/models.md#anta.models.AntaCommand), [anta.models.AntaTemplate](../api/models.md#anta.models.AntaTemplate) or both.
|
||||
Import [anta.models.AntaTest](../api/tests/anta_test.md#anta.models.AntaTest) and define your own class.
|
||||
Define the mandatory class attributes using [anta.models.AntaCommand](../api/commands.md#anta.models.AntaCommand), [anta.models.AntaTemplate](../api/commands.md#anta.models.AntaTemplate) or both.
|
||||
|
||||
> [!NOTE]
|
||||
> Caching can be disabled per `AntaCommand` or `AntaTemplate` by setting the `use_cache` argument to `False`. For more details about how caching is implemented in ANTA, please refer to [Caching in ANTA](../advanced_usages/caching.md).
|
||||
|
@ -244,7 +244,7 @@ class <YourTestName>(AntaTest):
|
|||
```
|
||||
|
||||
To define an input field type, refer to the [pydantic documentation](https://docs.pydantic.dev/latest/usage/types/types/) about types.
|
||||
You can also leverage [anta.custom_types](../api/types.md) that provides reusable types defined in ANTA tests.
|
||||
You can also leverage [anta.custom_types](../api/tests/types.md) that provides reusable types defined in ANTA tests.
|
||||
|
||||
Regarding required, optional and nullable fields, refer to this [documentation](https://docs.pydantic.dev/latest/migration/#required-optional-and-nullable-fields) on how to define them.
|
||||
|
||||
|
@ -253,7 +253,7 @@ Regarding required, optional and nullable fields, refer to this [documentation](
|
|||
|
||||
### Template rendering
|
||||
|
||||
Define the `render()` method if you have [AntaTemplate](../api/models.md#anta.models.AntaTemplate) instances in your `commands` class attribute:
|
||||
Define the `render()` method if you have [AntaTemplate](../api/commands.md#anta.models.AntaTemplate) instances in your `commands` class attribute:
|
||||
|
||||
```python
|
||||
class <YourTestName>(AntaTest):
|
||||
|
@ -262,7 +262,7 @@ class <YourTestName>(AntaTest):
|
|||
return [template.render(<template param>=input_value) for input_value in self.inputs.<input_field>]
|
||||
```
|
||||
|
||||
You can access test inputs and render as many [AntaCommand](../api/models.md#anta.models.AntaCommand) as desired.
|
||||
You can access test inputs and render as many [AntaCommand](../api/commands.md#anta.models.AntaCommand) as desired.
|
||||
|
||||
### Test definition
|
||||
|
||||
|
@ -282,7 +282,7 @@ The logic usually includes the following different stages:
|
|||
2. If needed, access the test inputs using the `self.inputs` instance attribute and write your conditional logic.
|
||||
3. Set the `result` instance attribute to reflect the test result by either calling `self.result.is_success()` or `self.result.is_failure("<FAILURE REASON>")`. Sometimes, setting the test result to `skipped` using `self.result.is_skipped("<SKIPPED REASON>")` can make sense (e.g. testing the OSPF neighbor states but no neighbor was found). However, you should not need to catch any exception and set the test result to `error` since the error handling is done by the framework, see below.
|
||||
|
||||
The example below is based on the [VerifyTemperature](../api/tests.hardware.md#anta.tests.hardware.VerifyTemperature) test.
|
||||
The example below is based on the [VerifyTemperature](../api/tests/hardware.md#anta.tests.hardware.VerifyTemperature) test.
|
||||
|
||||
```python
|
||||
class VerifyTemperature(AntaTest):
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
---
|
||||
anta_title: ANTA Catalog API
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
### ::: anta.catalog.AntaCatalog
|
||||
::: anta.catalog.AntaCatalog
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__str__"]
|
||||
::: anta.catalog.AntaTestDefinition
|
||||
|
||||
### ::: anta.catalog.AntaTestDefinition
|
||||
|
||||
### ::: anta.catalog.AntaCatalogFile
|
||||
::: anta.catalog.AntaCatalogFile
|
||||
|
|
15
docs/api/class-diagram.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
anta_title: ANTA Class Diagram
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 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.
|
||||
-->
|
||||
|
||||
!!! info
|
||||
The classes colored in pink :fontawesome-solid-square-full:{ .pydantic_pink } are [:simple-pydantic:{ .pydantic_pink } pydantic models](https://docs.pydantic.dev/latest/concepts/models/).
|
||||
|
||||
``` mermaid
|
||||
--8<-- "api/class-diagram.mmd"
|
||||
```
|
189
docs/api/class-diagram.mmd
Normal file
|
@ -0,0 +1,189 @@
|
|||
classDiagram
|
||||
class AntaDevice {
|
||||
<<Abstract>>
|
||||
name : str
|
||||
tags : Optional[set[str]]
|
||||
hw_model : str | None
|
||||
established : bool
|
||||
is_online : bool
|
||||
cache_statistics : dict[str, Any]
|
||||
collect(command: AntaCommand) None
|
||||
collect_commands(commands: list[AntaCommand]) None
|
||||
copy(sources: list[Path], destination: Path, direction: Literal['to', 'from']) None
|
||||
refresh()* None
|
||||
_collect(command: AntaCommand)* None
|
||||
}
|
||||
class AntaTest {
|
||||
<<Abstract>>
|
||||
name : str$
|
||||
description : str$
|
||||
categories : list[str]$
|
||||
commands : list[AntaTemplate | AntaCommand]$
|
||||
device : AntaDevice
|
||||
inputs : Input
|
||||
result : TestResult
|
||||
instance_commands : list[AntaCommand]
|
||||
failed_commands : list[AntaCommand]
|
||||
collected : bool
|
||||
blocked : bool
|
||||
module : str
|
||||
logger : Logger
|
||||
anta_test(function: F) Callable[..., Coroutine[Any, Any, TestResult]]$
|
||||
save_commands_data(eos_data: list[dict[str, Any] | str]) None
|
||||
render(template: AntaTemplate) list[AntaCommand]
|
||||
test() None*
|
||||
}
|
||||
class AntaCommand:::pydantic {
|
||||
command : str
|
||||
version : Literal[1, 'latest']
|
||||
revision : Revision | None
|
||||
ofmt : Literal['json', 'text']
|
||||
output : dict[str, Any] | str | None
|
||||
json_output : dict[str, Any]
|
||||
text_output : str
|
||||
uid : str
|
||||
template : AntaTemplate | None
|
||||
params : AntaParamsBaseModel
|
||||
errors : list[str]
|
||||
error : bool
|
||||
use_cache : bool
|
||||
collected : bool
|
||||
requires_privileges : bool
|
||||
returned_known_eos_error : bool
|
||||
supported : bool
|
||||
}
|
||||
class AntaTemplate {
|
||||
template : str
|
||||
version : Literal[1, 'latest']
|
||||
revision : Revision | None
|
||||
ofmt : Literal['json', 'text']
|
||||
use_cache : bool
|
||||
render() AntaCommand
|
||||
}
|
||||
class AntaTestStatus {
|
||||
<<Enumeration>>
|
||||
UNSET
|
||||
SUCCESS
|
||||
FAILURE
|
||||
ERROR
|
||||
SKIPPED
|
||||
}
|
||||
class Input:::pydantic {
|
||||
filters : Filters | None
|
||||
result_overwrite : ResultOverwrite | None
|
||||
}
|
||||
class ResultManager {
|
||||
results : list[TestResult]
|
||||
status: AntaTestStatus
|
||||
error_status : bool
|
||||
results_by_status: dict[AntaTestStatus, list[TestResult]]
|
||||
sorted_category_stats: dict[str, CategoryStats]
|
||||
dump: list[dict[str, Any]]
|
||||
json : str
|
||||
test_stats: dict[str, TestStats]
|
||||
device_stats: dict[str, DeviceStats]
|
||||
category_stats: dict[str, CategoryStats]
|
||||
add(result: TestResult) None
|
||||
filter(hide: set[AntaTestStatus]) ResultManager
|
||||
filter_by_devices(devices: set[str]) ResultManager
|
||||
filter_by_tests(tests: set[str]) ResultManager
|
||||
get_results(status: set[AntaTestStatus] | None, sort_by: list[str] | None) list[TestResult]
|
||||
get_total_results(status: set[AntaTestStatus] | None) int
|
||||
get_status() str
|
||||
get_tests() set[str]
|
||||
get_devices() set[str]
|
||||
reset() None
|
||||
}
|
||||
class AsyncEOSDevice {
|
||||
enable : bool
|
||||
copy(sources: list[Path], destination: Path, direction: Literal['to', 'from']) None
|
||||
refresh() None
|
||||
_collect(command: AntaCommand) None
|
||||
}
|
||||
class TestResult:::pydantic {
|
||||
name : str
|
||||
test : str
|
||||
categories : list[str]
|
||||
description : str
|
||||
messages : list[str]
|
||||
result : AntaTestStatus
|
||||
custom_field : str | None
|
||||
is_error(message: str | None) None
|
||||
is_failure(message: str | None) None
|
||||
is_skipped(message: str | None) None
|
||||
is_success(message: str | None) None
|
||||
}
|
||||
class AntaCatalog {
|
||||
tests : list[AntaTestDefinition]
|
||||
filename: Path | None
|
||||
indexes_built : bool
|
||||
tag_to_tests : defaultdict[str | None, set[AntaTestDefinition]]
|
||||
parse(filename: str | Path, file_format: Literal['yaml', 'json']) AntaCatalog$
|
||||
from_dict(data: RawCatalogInput, filename: str | Path | None) AntaCatalog$
|
||||
from_list(data: ListAntaTestTuples) AntaCatalog$
|
||||
build_indexes(filtered_tests: set[str] | None) None
|
||||
clear_indexes() None
|
||||
get_tests_by_tags(tags: set[str]) set[AntaTestDefinition]
|
||||
merge_catalogs(catalogs: list[AntaCatalog]) AntaCatalog
|
||||
dump() AntaCatalogFile
|
||||
}
|
||||
class AntaCatalogFile:::pydantic {
|
||||
root : dict[ImportString[Any], list[AntaTestDefinition]]
|
||||
yaml() str
|
||||
}
|
||||
class AntaTestDefinition:::pydantic {
|
||||
inputs : Input
|
||||
test : type[AntaTest]
|
||||
check_inputs() Self
|
||||
instantiate_inputs(data: AntaTest.Input | dict[str, Any] | None, info: ValidationInfo) AntaTest.Input
|
||||
serialize_model() dict[str, AntaTest.Input]
|
||||
}
|
||||
class AntaInventory {
|
||||
devices : list[AntaDevice]
|
||||
parse(filename: str | Path, username: str, password: str, enable_password: str | None, timeout: float | None) AntaInventory$
|
||||
add_device(device: AntaDevice) None
|
||||
connect_inventory() None
|
||||
get_inventory() AntaInventory
|
||||
}
|
||||
class AntaInventoryHost:::pydantic {
|
||||
disable_cache : bool
|
||||
host : Hostname | IPvAnyAddress
|
||||
name : str | None
|
||||
port : Port | None
|
||||
tags : set[str] | None
|
||||
}
|
||||
class AntaInventoryInput:::pydantic {
|
||||
hosts : list[AntaInventoryHost] | None
|
||||
networks : list[AntaInventoryNetwork] | None
|
||||
ranges : list[AntaInventoryRange] | None
|
||||
yaml() str
|
||||
}
|
||||
class AntaInventoryNetwork:::pydantic {
|
||||
disable_cache : bool
|
||||
network : IPvAnyNetwork, str
|
||||
tags : set[str] | None
|
||||
}
|
||||
class AntaInventoryRange:::pydantic {
|
||||
disable_cache : bool
|
||||
end : IPvAnyAddress, str
|
||||
start : IPvAnyAddress, str
|
||||
tags : set[str] | None
|
||||
}
|
||||
AsyncEOSDevice --|> AntaDevice
|
||||
Input --* AntaTestDefinition : inputs
|
||||
Input --* AntaTest : inputs
|
||||
AntaTestStatus --* ResultManager : status
|
||||
AntaTestStatus --* TestResult : result
|
||||
TestResult --* AntaTest : result
|
||||
AntaDevice --o AntaTest : device
|
||||
AntaTestDefinition --o AntaCatalog : tests
|
||||
AntaCommand --o AntaTest : commands
|
||||
AntaTemplate ..> AntaCommand : render()
|
||||
AntaTemplate --o AntaTest : commands
|
||||
AntaDevice --o AntaInventory : devices
|
||||
AntaCatalog ..> AntaCatalogFile
|
||||
AntaInventory ..> AntaInventoryInput
|
||||
AntaInventoryInput ..> AntaInventoryHost
|
||||
AntaInventoryInput ..> AntaInventoryNetwork
|
||||
AntaInventoryInput ..> AntaInventoryRange
|
||||
classDef pydantic fill:#D63965
|
29
docs/api/commands.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
anta_title: ANTA Commands API
|
||||
---
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
## ::: anta.models.AntaCommand
|
||||
|
||||
## ::: anta.models.AntaTemplate
|
||||
|
||||
## EOS Commands Error Handling
|
||||
|
||||
::: anta.constants.UNSUPPORTED_PLATFORM_ERRORS
|
||||
options:
|
||||
heading_level: 7
|
||||
show_labels: false
|
||||
|
||||
::: anta.constants.EOS_BLACKLIST_CMDS
|
||||
options:
|
||||
heading_level: 7
|
||||
show_labels: false
|
||||
|
||||
::: anta.constants.KNOWN_EOS_ERRORS
|
||||
options:
|
||||
heading_level: 7
|
||||
show_labels: false
|
|
@ -1,25 +1,18 @@
|
|||
---
|
||||
anta_title: ANTA Device API
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# AntaDevice base class
|
||||
|
||||

|
||||
|
||||
## ::: anta.device.AntaDevice
|
||||
|
||||
::: anta.device.AntaDevice
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__(eq|rich_repr)__", "_collect"]
|
||||
|
||||
# Async EOS device class
|
||||
|
||||

|
||||
filters: ["!^_", "_collect"]
|
||||
|
||||
<!-- _collect must be last to be kept -->
|
||||
|
||||
## ::: anta.device.AsyncEOSDevice
|
||||
|
||||
::: anta.device.AsyncEOSDevice
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__(eq|rich_repr)__", "_collect"]
|
||||
filters: ["!^_", "_collect"]
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
---
|
||||
anta_title: ANTA Inventory API
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
### ::: anta.inventory.AntaInventory
|
||||
::: anta.inventory.AntaInventory
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__str__"]
|
||||
::: anta.inventory.models.AntaInventoryInput
|
||||
|
||||
### ::: anta.inventory.exceptions
|
||||
::: anta.inventory.models.AntaInventoryHost
|
||||
|
||||
::: anta.inventory.models.AntaInventoryNetwork
|
||||
|
||||
::: anta.inventory.models.AntaInventoryRange
|
||||
|
||||
::: anta.inventory.exceptions
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
### ::: anta.inventory.models.AntaInventoryInput
|
||||
|
||||
### ::: anta.inventory.models.AntaInventoryHost
|
||||
|
||||
### ::: anta.inventory.models.AntaInventoryNetwork
|
||||
|
||||
### ::: anta.inventory.models.AntaInventoryRange
|
|
@ -1,33 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
# Test definition
|
||||
|
||||

|
||||
|
||||
## ::: anta.models.AntaTest
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__init_subclass__", "!update_progress"]
|
||||
|
||||
# Command definition
|
||||
|
||||

|
||||
|
||||
## ::: anta.models.AntaCommand
|
||||
|
||||
!!! warning
|
||||
CLI commands are protected to avoid execution of critical commands such as `reload` or `write erase`.
|
||||
|
||||
- Reload command: `^reload\s*\w*`
|
||||
- Configure mode: `^conf\w*\s*(terminal|session)*`
|
||||
- Write: `^wr\w*\s*\w+`
|
||||
|
||||
# Template definition
|
||||
|
||||

|
||||
|
||||
## ::: anta.models.AntaTemplate
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: CSV Reporter
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
10
docs/api/reporter/jinja.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
anta_title: Jinja Reporter
|
||||
---
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.reporter.ReportJinja
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Markdown Reporter
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
10
docs/api/reporter/table.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
anta_title: Table Reporter
|
||||
---
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.reporter.ReportTable
|
|
@ -1,10 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.reporter
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
13
docs/api/result.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
anta_title: ANTA Result API
|
||||
---
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.result_manager.ResultManager
|
||||
options:
|
||||
extensions: [griffe_warnings_deprecated]
|
||||
::: anta.result_manager.models.TestResult
|
|
@ -1,14 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
# Result Manager definition
|
||||
|
||||

|
||||
|
||||
## ::: anta.result_manager.ResultManager
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!^__len__"]
|
|
@ -1,14 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
# Test Result model
|
||||
|
||||

|
||||
|
||||
## ::: anta.result_manager.models.TestResult
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__str__"]
|
|
@ -1,10 +1,15 @@
|
|||
---
|
||||
anta_title: ANTA Runner API
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
Refer to the [Getting started - Basic usage in a Python script](../getting-started.md/#basic-usage-in-a-python-script) section for a usage example.
|
||||
|
||||
### ::: anta.runner
|
||||
|
||||
options:
|
||||
filters: ["!^_[^_]", "!__str__"]
|
||||
show_root_full_path: true
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
anta_title: ANTA catalog for flow tracking tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.tests.flow_tracking
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
anta_title: ANTA catalog for logging tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.tests.logging
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
anta_title: ANTA Tests Landing Page
|
||||
anta_title: ANTA Tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -13,37 +13,37 @@ This section describes all the available tests provided by the ANTA package.
|
|||
|
||||
Here are the tests that we currently provide:
|
||||
|
||||
- [AAA](tests.aaa.md)
|
||||
- [Adaptive Virtual Topology](tests.avt.md)
|
||||
- [BFD](tests.bfd.md)
|
||||
- [Configuration](tests.configuration.md)
|
||||
- [Connectivity](tests.connectivity.md)
|
||||
- [CVX](tests.cvx.md)
|
||||
- [Field Notices](tests.field_notices.md)
|
||||
- [Flow Tracking](tests.flow_tracking.md)
|
||||
- [GreenT](tests.greent.md)
|
||||
- [Hardware](tests.hardware.md)
|
||||
- [Interfaces](tests.interfaces.md)
|
||||
- [LANZ](tests.lanz.md)
|
||||
- [Logging](tests.logging.md)
|
||||
- [MLAG](tests.mlag.md)
|
||||
- [Multicast](tests.multicast.md)
|
||||
- [Profiles](tests.profiles.md)
|
||||
- [PTP](tests.ptp.md)
|
||||
- [Router Path Selection](tests.path_selection.md)
|
||||
- [Routing Generic](tests.routing.generic.md)
|
||||
- [Routing BGP](tests.routing.bgp.md)
|
||||
- [Routing ISIS](tests.routing.isis.md)
|
||||
- [Routing OSPF](tests.routing.ospf.md)
|
||||
- [Security](tests.security.md)
|
||||
- [Services](tests.services.md)
|
||||
- [SNMP](tests.snmp.md)
|
||||
- [Software](tests.software.md)
|
||||
- [STP](tests.stp.md)
|
||||
- [STUN](tests.stun.md)
|
||||
- [System](tests.system.md)
|
||||
- [VLAN](tests.vlan.md)
|
||||
- [VXLAN](tests.vxlan.md)
|
||||
- [AAA](tests/aaa.md)
|
||||
- [Adaptive Virtual Topology](tests/avt.md)
|
||||
- [BFD](tests/bfd.md)
|
||||
- [Configuration](tests/configuration.md)
|
||||
- [Connectivity](tests/connectivity.md)
|
||||
- [CVX](tests/cvx.md)
|
||||
- [Field Notices](tests/field_notices.md)
|
||||
- [Flow Tracking](tests/flow_tracking.md)
|
||||
- [GreenT](tests/greent.md)
|
||||
- [Hardware](tests/hardware.md)
|
||||
- [Interfaces](tests/interfaces.md)
|
||||
- [LANZ](tests/lanz.md)
|
||||
- [Logging](tests/logging.md)
|
||||
- [MLAG](tests/mlag.md)
|
||||
- [Multicast](tests/multicast.md)
|
||||
- [Profiles](tests/profiles.md)
|
||||
- [PTP](tests/ptp.md)
|
||||
- [Router Path Selection](tests/path_selection.md)
|
||||
- [Routing Generic](tests/routing.generic.md)
|
||||
- [Routing BGP](tests/routing.bgp.md)
|
||||
- [Routing ISIS](tests/routing.isis.md)
|
||||
- [Routing OSPF](tests/routing.ospf.md)
|
||||
- [Security](tests/security.md)
|
||||
- [Services](tests/services.md)
|
||||
- [SNMP](tests/snmp.md)
|
||||
- [Software](tests/software.md)
|
||||
- [STP](tests/stp.md)
|
||||
- [STUN](tests/stun.md)
|
||||
- [System](tests/system.md)
|
||||
- [VLAN](tests/vlan.md)
|
||||
- [VXLAN](tests/vxlan.md)
|
||||
|
||||
!!! tip
|
||||
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
anta_title: ANTA catalog for Router path-selection tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.tests.path_selection
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
anta_title: ANTA catalog for IS-IS tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.tests.routing.isis
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
- "!^_[^_]"
|
|
@ -1,20 +0,0 @@
|
|||
---
|
||||
anta_title: ANTA catalog for SNMP tests
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ Use of this source code is governed by the Apache License 2.0
|
||||
~ that can be found in the LICENSE file.
|
||||
-->
|
||||
|
||||
::: anta.tests.snmp
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for AAA tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.aaa
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
10
docs/api/tests/anta_test.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
anta_title: ANTA Test API
|
||||
---
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.models.AntaTest
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for Adaptive Virtual Topology (AVT) tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,27 +13,31 @@ anta_title: ANTA catalog for Adaptive Virtual Topology (AVT) tests
|
|||
::: anta.tests.avt
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.avt
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
anta_hide_test_module_description: true
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for BFD tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,30 @@ anta_title: ANTA catalog for BFD tests
|
|||
::: anta.tests.bfd
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.bfd
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for device configuration tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.configuration
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for connectivity tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,30 @@ anta_title: ANTA catalog for connectivity tests
|
|||
::: anta.tests.connectivity
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.connectivity
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for CVX tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.cvx
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for Field Notices tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.field_notices
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
44
docs/api/tests/flow_tracking.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
anta_title: ANTA catalog for flow tracking tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.flow_tracking
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
- "!validate_exporters"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.flow_tracking
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for GreenT tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.greent
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for hardware tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.hardware
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for interfaces tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,30 @@ anta_title: ANTA catalog for interfaces tests
|
|||
::: anta.tests.interfaces
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.interfaces
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for LANZ tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.lanz
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
43
docs/api/tests/logging.md
Normal file
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
anta_title: ANTA catalog for logging tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.logging
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.logging
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for MLAG tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.mlag
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for multicast and IGMP tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.multicast
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
42
docs/api/tests/path_selection.md
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
anta_title: ANTA catalog for Router path-selection tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.path_selection
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.path_selection
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for profiles tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.profiles
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for PTP tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.ptp
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,45 +1,55 @@
|
|||
---
|
||||
anta_title: ANTA catalog for BGP tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
!!! info "`multi-agent` Service Routing Protocols Model Requirements"
|
||||
The BGP tests in this section are only supported on switches running the `multi-agent` routing protocols model. Starting from EOS version 4.30.1F, `service routing protocols model` is set to `multi-agent` by default. These BGP commands may **not** be compatible with switches running the legacy `ribd` routing protocols model and may fail if attempted.
|
||||
!!! info "BGP Test Compatibility Note"
|
||||
ANTA BGP tests are designed for the `multi-agent` routing protocol model. Starting from EOS 4.30.1F, `service routing protocols models` is set to `multi-agent` by default, and from EOS 4.32.0F it becomes the only supported model.
|
||||
|
||||
The following tests are available for devices using the legacy `ribd` model on earlier EOS versions:
|
||||
|
||||
- `VerifyBGPPeerSessionRibd`
|
||||
- `VerifyBGPPeersHealthRibd`
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.routing.bgp
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
- "!^_[^_]"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.routing.bgp
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
anta_hide_test_module_description: true
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
- "!AFI_SAFI_EOS_KEY"
|
||||
- "!eos_key"
|
||||
- "!BgpAfi"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for generic routing tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,30 @@ anta_title: ANTA catalog for generic routing tests
|
|||
::: anta.tests.routing.generic
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.routing.generic
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
44
docs/api/tests/routing.isis.md
Normal file
|
@ -0,0 +1,44 @@
|
|||
---
|
||||
anta_title: ANTA catalog for IS-IS tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.routing.isis
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
- "!^_[^_]"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.routing.isis
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for OSPF tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -10,13 +11,15 @@ anta_title: ANTA catalog for OSPF tests
|
|||
::: anta.tests.routing.ospf
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
- "!^_[^_]"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for security tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,27 +13,31 @@ anta_title: ANTA catalog for security tests
|
|||
::: anta.tests.security
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.security
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for services tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,31 @@ anta_title: ANTA catalog for services tests
|
|||
::: anta.tests.services
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.services
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
42
docs/api/tests/snmp.md
Normal file
|
@ -0,0 +1,42 @@
|
|||
---
|
||||
anta_title: ANTA catalog for SNMP tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Tests
|
||||
|
||||
::: anta.tests.snmp
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.snmp
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for Software tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.software
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for STP tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.stp
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for STUN tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -10,28 +11,33 @@ anta_title: ANTA catalog for STUN tests
|
|||
# Tests
|
||||
|
||||
::: anta.tests.stun
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.stun
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters:
|
||||
- "!^__init__"
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,8 +1,9 @@
|
|||
---
|
||||
anta_title: ANTA catalog for System tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -12,25 +13,30 @@ anta_title: ANTA catalog for System tests
|
|||
::: anta.tests.system
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
||||
|
||||
# Input models
|
||||
|
||||
::: anta.input_models.system
|
||||
|
||||
options:
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!^__str__"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
anta_hide_test_module_description: true
|
||||
show_labels: true
|
||||
filters: ["!^__str__"]
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,5 +1,8 @@
|
|||
---
|
||||
anta_title: ANTA Input Types
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for VLAN tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.vlan
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -1,20 +1,24 @@
|
|||
---
|
||||
anta_title: ANTA catalog for VXLAN tests
|
||||
---
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
::: anta.tests.vxlan
|
||||
|
||||
options:
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_bases: false
|
||||
merge_init_into_class: false
|
||||
show_labels: true
|
||||
anta_hide_test_module_description: true
|
||||
filters:
|
||||
- "!test"
|
||||
- "!render"
|
||||
merge_init_into_class: false
|
||||
show_bases: false
|
||||
show_labels: true
|
||||
show_root_heading: false
|
||||
show_root_toc_entry: false
|
||||
show_symbol_type_heading: false
|
||||
show_symbol_type_toc: false
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: ANTA check commands
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: ANTA debug commands
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Executing Commands on Devices
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Retrieving Inventory Information
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -11,7 +11,7 @@ The ANTA CLI offers multiple commands to access data from your local inventory.
|
|||
|
||||
## List devices in inventory
|
||||
|
||||
This command will list all devices available in the inventory. Using the `--tags` option, you can filter this list to only include devices with specific tags (visit [this page](tag-management.md) to learn more about tags). The `--connected` option allows to display only the devices where a connection has been established.
|
||||
This command will list all devices available in the inventory. Using the `--tags` option, you can filter this list to only include devices with specific tags (visit [this page](tag-management.md) to learn more about tags). The `--connected` option allows to display only the devices where a connection has been established.
|
||||
|
||||
### Command overview
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Retrieving Tests information
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Create an Inventory from Ansible inventory
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Create an Inventory from CloudVision
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Execute Network Readiness For Use (NRFU) Testing
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -48,12 +48,7 @@ The `text` subcommand provides a straightforward text report for each test execu
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
Usage: anta nrfu text [OPTIONS]
|
||||
|
||||
ANTA command to check network states with text result.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_text_help.txt"
|
||||
```
|
||||
|
||||
### Example
|
||||
|
@ -71,13 +66,7 @@ The `table` command under the `anta nrfu` namespace offers a clear and organized
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
Usage: anta nrfu table [OPTIONS]
|
||||
|
||||
ANTA command to check network states with table result.
|
||||
|
||||
Options:
|
||||
--group-by [device|test] Group result by test or device.
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_table_help.txt"
|
||||
```
|
||||
|
||||
The `--group-by` option show a summarized view of the test results per host or per test.
|
||||
|
@ -125,15 +114,7 @@ The JSON rendering command in NRFU testing will generate an output of all test r
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
anta nrfu json --help
|
||||
Usage: anta nrfu json [OPTIONS]
|
||||
|
||||
ANTA command to check network state with JSON result.
|
||||
|
||||
Options:
|
||||
-o, --output FILE Path to save report as a JSON file [env var:
|
||||
ANTA_NRFU_JSON_OUTPUT]
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_json_help.txt"
|
||||
```
|
||||
|
||||
The `--output` option allows you to save the JSON report as a file. If specified, no output will be displayed in the terminal. This is useful for further processing or integration with other tools.
|
||||
|
@ -153,15 +134,7 @@ The `csv` command in NRFU testing is useful for generating a CSV file with all t
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
anta nrfu csv --help
|
||||
Usage: anta nrfu csv [OPTIONS]
|
||||
|
||||
ANTA command to check network states with CSV result.
|
||||
|
||||
Options:
|
||||
--csv-output FILE Path to save report as a CSV file [env var:
|
||||
ANTA_NRFU_CSV_CSV_OUTPUT]
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_csv_help.txt"
|
||||
```
|
||||
|
||||
### Example
|
||||
|
@ -175,16 +148,7 @@ The `md-report` command in NRFU testing generates a comprehensive Markdown repor
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
anta nrfu md-report --help
|
||||
|
||||
Usage: anta nrfu md-report [OPTIONS]
|
||||
|
||||
ANTA command to check network state with Markdown report.
|
||||
|
||||
Options:
|
||||
--md-output FILE Path to save the report as a Markdown file [env var:
|
||||
ANTA_NRFU_MD_REPORT_MD_OUTPUT; required]
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_mdreport_help.txt"
|
||||
```
|
||||
|
||||
### Example
|
||||
|
@ -198,17 +162,7 @@ ANTA offers a CLI option for creating custom reports. This leverages the Jinja2
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
anta nrfu tpl-report --help
|
||||
Usage: anta nrfu tpl-report [OPTIONS]
|
||||
|
||||
ANTA command to check network state with templated report
|
||||
|
||||
Options:
|
||||
-tpl, --template FILE Path to the template to use for the report [env var:
|
||||
ANTA_NRFU_TPL_REPORT_TEMPLATE; required]
|
||||
-o, --output FILE Path to save report as a file [env var:
|
||||
ANTA_NRFU_TPL_REPORT_OUTPUT]
|
||||
--help Show this message and exit.
|
||||
--8<-- "anta_nrfu_tplreport_help.txt"
|
||||
```
|
||||
|
||||
The `--template` option is used to specify the Jinja2 template file for generating the custom report.
|
||||
|
@ -231,7 +185,7 @@ The template `./custom_template.j2` is a simple Jinja2 template:
|
|||
{% endfor %}
|
||||
```
|
||||
|
||||
The Jinja2 template has access to all `TestResult` elements and their values, as described in this [documentation](../api/result_manager_models.md#anta.result_manager.models.TestResult).
|
||||
The Jinja2 template has access to all `TestResult` elements and their values, as described in this [documentation](../api/result.md#anta.result_manager.models.TestResult).
|
||||
|
||||
You can also save the report result to a file using the `--output` option:
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: Overview of ANTA's Command-Line Interface (CLI)
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -52,17 +52,24 @@ anta nrfu
|
|||
|
||||
Below are the environment variables usable with the `anta nrfu` command:
|
||||
|
||||
| Variable Name | Purpose | Required |
|
||||
| ------------- | ------- |----------|
|
||||
| ANTA_USERNAME | The username to use in the inventory to connect to devices. | Yes |
|
||||
| ANTA_PASSWORD | The password to use in the inventory to connect to devices. | Yes |
|
||||
| ANTA_INVENTORY | The path to the inventory file. | Yes |
|
||||
| ANTA_CATALOG | The path to the catalog file. | Yes |
|
||||
| ANTA_PROMPT | The value to pass to the prompt for password is password is not provided | No |
|
||||
| ANTA_INSECURE | Whether or not using insecure mode when connecting to the EOS devices HTTP API. | No |
|
||||
| ANTA_DISABLE_CACHE | A variable to disable caching for all ANTA tests (enabled by default). | No |
|
||||
| ANTA_ENABLE | Whether it is necessary to go to enable mode on devices. | No |
|
||||
| ANTA_ENABLE_PASSWORD | The optional enable password, when this variable is set, ANTA_ENABLE or `--enable` is required. | No |
|
||||
| Variable Name | Purpose | Required | Default |
|
||||
| ------------- | ------- |----------| ------- |
|
||||
| ANTA_USERNAME | The username to use in the inventory to connect to devices. | Yes | - |
|
||||
| ANTA_PASSWORD | The password to use in the inventory to connect to devices. | Yes | - |
|
||||
| ANTA_INVENTORY | The path to the inventory file. | Yes | - |
|
||||
| ANTA_CATALOG | The path to the catalog file. | Yes | - |
|
||||
| ANTA_ENABLE_PASSWORD | The optional enable password, when this variable is set, ANTA_ENABLE or `--enable` is required. | No | - |
|
||||
| ANTA_ENABLE | Whether it is necessary to go to enable mode on devices. | No | False |
|
||||
| ANTA_PROMPT | Prompt for passwords if they are not provided. | No | False |
|
||||
| ANTA_TIMEOUT | The global timeout value for API calls. | No | 30.0 |
|
||||
| ANTA_INSECURE | Whether or not using insecure mode when connecting to the EOS devices HTTP API. | No | False |
|
||||
| ANTA_DISABLE_CACHE | A variable to disable caching for all ANTA tests (enabled by default). | No | False |
|
||||
| ANTA_INVENTORY_FORMAT | Format of the inventory file. `json` or `yaml`. | No | `yaml` |
|
||||
| ANTA_CATALOG_FORMAT | Format of the catalog file. `json` or `yaml`. | No | `yaml` |
|
||||
| ANTA_TAGS | A list of tags to filter which tests to run on which devices. | No | - |
|
||||
| ANTA_NRFU_IGNORE_STATUS | Exit code will always be 0. | No | False |
|
||||
| ANTA_NRFU_IGNORE_ERROR | Exit code will be 0 if all tests succeeded or 1 if any test failed. | No | False |
|
||||
| ANTA_NRFU_DRY_RUN | Run `anta nrfu` command but stop before running the tests. | No | False |
|
||||
|
||||
> [!NOTE]
|
||||
> Caching can be disabled with the global parameter `--disable-cache`. For more details about how caching is implemented in ANTA, please refer to [Caching in ANTA](../advanced_usages/caching.md).
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -64,15 +64,14 @@ Tags can be defined in the test catalog to restrict tests to tagged devices:
|
|||
anta.tests.system:
|
||||
- VerifyUptime:
|
||||
minimum: 10
|
||||
filters:
|
||||
tags: ['spine']
|
||||
filters: tags: [spine]
|
||||
- VerifyUptime:
|
||||
minimum: 9
|
||||
filters:
|
||||
tags: ['leaf']
|
||||
tags: [leaf]
|
||||
- VerifyReloadCause:
|
||||
filters:
|
||||
tags: ['spine', 'leaf']
|
||||
tags: [spine, leaf]
|
||||
- VerifyCoredump:
|
||||
- VerifyAgentLogs:
|
||||
- VerifyCPUUtilization:
|
||||
|
@ -83,13 +82,13 @@ anta.tests.system:
|
|||
anta.tests.mlag:
|
||||
- VerifyMlagStatus:
|
||||
filters:
|
||||
tags: ['leaf']
|
||||
tags: [leaf]
|
||||
|
||||
anta.tests.interfaces:
|
||||
- VerifyL3MTU:
|
||||
mtu: 1500
|
||||
filters:
|
||||
tags: ['spine']
|
||||
tags: [spine]
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
|
@ -204,35 +203,7 @@ As most ANTA commands accommodate tag filtering, this command is useful for enum
|
|||
### Command overview
|
||||
|
||||
```bash
|
||||
Usage: anta get tags [OPTIONS]
|
||||
|
||||
Get list of configured tags in user inventory.
|
||||
|
||||
Options:
|
||||
-u, --username TEXT Username to connect to EOS [env var: ANTA_USERNAME;
|
||||
required]
|
||||
-p, --password TEXT Password to connect to EOS that must be provided. It
|
||||
can be prompted using '--prompt' option. [env var:
|
||||
ANTA_PASSWORD]
|
||||
--enable-password TEXT Password to access EOS Privileged EXEC mode. It can
|
||||
be prompted using '--prompt' option. Requires '--
|
||||
enable' option. [env var: ANTA_ENABLE_PASSWORD]
|
||||
--enable Some commands may require EOS Privileged EXEC mode.
|
||||
This option tries to access this mode before sending
|
||||
a command to the device. [env var: ANTA_ENABLE]
|
||||
-P, --prompt Prompt for passwords if they are not provided. [env
|
||||
var: ANTA_PROMPT]
|
||||
--timeout FLOAT Global API timeout. This value will be used for all
|
||||
devices. [env var: ANTA_TIMEOUT; default: 30.0]
|
||||
--insecure Disable SSH Host Key validation. [env var:
|
||||
ANTA_INSECURE]
|
||||
--disable-cache Disable cache globally. [env var:
|
||||
ANTA_DISABLE_CACHE]
|
||||
-i, --inventory FILE Path to the inventory YAML file. [env var:
|
||||
ANTA_INVENTORY; required]
|
||||
--tags TEXT List of tags using comma as separator:
|
||||
tag1,tag2,tag3. [env var: ANTA_TAGS]
|
||||
--help Show this message and exit.
|
||||
--8<-- anta_get_tags_help.txt
|
||||
```
|
||||
|
||||
### Example
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
anta_title: How to contribute to ANTA
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -29,7 +29,7 @@ $ pip install -e .[dev,cli]
|
|||
$ pip list -e
|
||||
Package Version Editable project location
|
||||
------- ------- -------------------------
|
||||
anta 1.2.0 /mnt/lab/projects/anta
|
||||
anta 1.3.0 /mnt/lab/projects/anta
|
||||
```
|
||||
|
||||
Then, [`tox`](https://tox.wiki/) is configured with few environments to run CI locally:
|
||||
|
|
|
@ -3,7 +3,7 @@ toc_depth: 3
|
|||
anta_title: Frequently Asked Questions (FAQ)
|
||||
---
|
||||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -86,12 +86,14 @@ This entrypoint has multiple options to manage test coverage and reporting.
|
|||
--8<-- "anta_help.txt"
|
||||
```
|
||||
|
||||
To run the NRFU, you need to select an output format amongst [`csv`, `json`, `md-report`, `table`, `text`, `tpl-report`].
|
||||
|
||||
For a first usage, `table` is recommended. By default all test results for all devices are rendered but it can be changed to a report per test case or per host
|
||||
|
||||
```bash
|
||||
--8<-- "anta_nrfu_help.txt"
|
||||
```
|
||||
|
||||
To run the NRFU, you need to select an output format amongst ["json", "table", "text", "tpl-report"]. For a first usage, `table` is recommended. By default all test results for all devices are rendered but it can be changed to a report per test case or per host
|
||||
|
||||
!!! Note
|
||||
The following examples shows how to pass all the CLI options.
|
||||
|
||||
|
|
100
docs/imgs/anta_debug_help.svg
Normal file
|
@ -0,0 +1,100 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 318.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-2846493834-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-2846493834-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-2846493834-r1 { fill: #c5c8c6 }
|
||||
.terminal-2846493834-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-2846493834-r3 { fill: #d0b344 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-2846493834-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="267.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2846493834-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="316.4" rx="8"/><text class="terminal-2846493834-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta debug --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-2846493834-clip-terminal)">
|
||||
|
||||
<g class="terminal-2846493834-matrix">
|
||||
<text class="terminal-2846493834-r1" x="0" y="20" textLength="219.6" clip-path="url(#terminal-2846493834-line-0)">Usage: anta debug </text><text class="terminal-2846493834-r2" x="219.6" y="20" textLength="12.2" clip-path="url(#terminal-2846493834-line-0)">[</text><text class="terminal-2846493834-r1" x="231.8" y="20" textLength="85.4" clip-path="url(#terminal-2846493834-line-0)">OPTIONS</text><text class="terminal-2846493834-r2" x="317.2" y="20" textLength="12.2" clip-path="url(#terminal-2846493834-line-0)">]</text><text class="terminal-2846493834-r1" x="329.4" y="20" textLength="109.8" clip-path="url(#terminal-2846493834-line-0)"> COMMAND </text><text class="terminal-2846493834-r2" x="439.2" y="20" textLength="12.2" clip-path="url(#terminal-2846493834-line-0)">[</text><text class="terminal-2846493834-r1" x="451.4" y="20" textLength="48.8" clip-path="url(#terminal-2846493834-line-0)">ARGS</text><text class="terminal-2846493834-r2" x="500.2" y="20" textLength="12.2" clip-path="url(#terminal-2846493834-line-0)">]</text><text class="terminal-2846493834-r3" x="512.4" y="20" textLength="36.6" clip-path="url(#terminal-2846493834-line-0)">...</text><text class="terminal-2846493834-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-2846493834-line-0)">
|
||||
</text><text class="terminal-2846493834-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-2846493834-line-1)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="68.8" textLength="646.6" clip-path="url(#terminal-2846493834-line-2)">  Commands to execute EOS commands on remote devices.</text><text class="terminal-2846493834-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-2846493834-line-2)">
|
||||
</text><text class="terminal-2846493834-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-2846493834-line-3)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-2846493834-line-4)">Options:</text><text class="terminal-2846493834-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-2846493834-line-4)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="142" textLength="451.4" clip-path="url(#terminal-2846493834-line-5)">  --help  Show this message and exit.</text><text class="terminal-2846493834-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-2846493834-line-5)">
|
||||
</text><text class="terminal-2846493834-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-2846493834-line-6)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="190.8" textLength="109.8" clip-path="url(#terminal-2846493834-line-7)">Commands:</text><text class="terminal-2846493834-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-2846493834-line-7)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="215.2" textLength="683.2" clip-path="url(#terminal-2846493834-line-8)">  run-cmd       Run arbitrary command to an ANTA device.</text><text class="terminal-2846493834-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-2846493834-line-8)">
|
||||
</text><text class="terminal-2846493834-r1" x="0" y="239.6" textLength="805.2" clip-path="url(#terminal-2846493834-line-9)">  run-template  Run arbitrary templated command to an ANTA device.</text><text class="terminal-2846493834-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-2846493834-line-9)">
|
||||
</text><text class="terminal-2846493834-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-2846493834-line-10)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7 KiB |
139
docs/imgs/anta_help.svg
Normal file
|
@ -0,0 +1,139 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 562.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-409832191-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-409832191-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-409832191-r1 { fill: #c5c8c6 }
|
||||
.terminal-409832191-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-409832191-r3 { fill: #d0b344 }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-409832191-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="511.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-409832191-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="560.4" rx="8"/><text class="terminal-409832191-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-409832191-clip-terminal)">
|
||||
<g class="terminal-409832191-matrix">
|
||||
<text class="terminal-409832191-r1" x="0" y="20" textLength="146.4" clip-path="url(#terminal-409832191-line-0)">Usage: anta </text><text class="terminal-409832191-r2" x="146.4" y="20" textLength="12.2" clip-path="url(#terminal-409832191-line-0)">[</text><text class="terminal-409832191-r1" x="158.6" y="20" textLength="85.4" clip-path="url(#terminal-409832191-line-0)">OPTIONS</text><text class="terminal-409832191-r2" x="244" y="20" textLength="12.2" clip-path="url(#terminal-409832191-line-0)">]</text><text class="terminal-409832191-r1" x="256.2" y="20" textLength="109.8" clip-path="url(#terminal-409832191-line-0)"> COMMAND </text><text class="terminal-409832191-r2" x="366" y="20" textLength="12.2" clip-path="url(#terminal-409832191-line-0)">[</text><text class="terminal-409832191-r1" x="378.2" y="20" textLength="48.8" clip-path="url(#terminal-409832191-line-0)">ARGS</text><text class="terminal-409832191-r2" x="427" y="20" textLength="12.2" clip-path="url(#terminal-409832191-line-0)">]</text><text class="terminal-409832191-r3" x="439.2" y="20" textLength="36.6" clip-path="url(#terminal-409832191-line-0)">...</text><text class="terminal-409832191-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-409832191-line-0)">
|
||||
</text><text class="terminal-409832191-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-409832191-line-1)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="68.8" textLength="402.6" clip-path="url(#terminal-409832191-line-2)">  Arista Network Test Automation </text><text class="terminal-409832191-r2" x="402.6" y="68.8" textLength="12.2" clip-path="url(#terminal-409832191-line-2)">(</text><text class="terminal-409832191-r1" x="414.8" y="68.8" textLength="48.8" clip-path="url(#terminal-409832191-line-2)">ANTA</text><text class="terminal-409832191-r2" x="463.6" y="68.8" textLength="12.2" clip-path="url(#terminal-409832191-line-2)">)</text><text class="terminal-409832191-r1" x="475.8" y="68.8" textLength="61" clip-path="url(#terminal-409832191-line-2)"> CLI.</text><text class="terminal-409832191-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-409832191-line-2)">
|
||||
</text><text class="terminal-409832191-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-409832191-line-3)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-409832191-line-4)">Options:</text><text class="terminal-409832191-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-409832191-line-4)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="142" textLength="744.2" clip-path="url(#terminal-409832191-line-5)">  --help                          Show this message and exit.</text><text class="terminal-409832191-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-409832191-line-5)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="166.4" textLength="732" clip-path="url(#terminal-409832191-line-6)">  --version                       Show the version and exit.</text><text class="terminal-409832191-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-409832191-line-6)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="190.8" textLength="951.6" clip-path="url(#terminal-409832191-line-7)">  --log-file FILE                 Send the logs to a file. If logging level is</text><text class="terminal-409832191-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-409832191-line-7)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="215.2" textLength="927.2" clip-path="url(#terminal-409832191-line-8)">                                  DEBUG, only INFO or higher will be sent to</text><text class="terminal-409832191-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-409832191-line-8)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="239.6" textLength="524.6" clip-path="url(#terminal-409832191-line-9)">                                  stdout.  </text><text class="terminal-409832191-r2" x="524.6" y="239.6" textLength="12.2" clip-path="url(#terminal-409832191-line-9)">[</text><text class="terminal-409832191-r1" x="536.8" y="239.6" textLength="268.4" clip-path="url(#terminal-409832191-line-9)">env var: ANTA_LOG_FILE</text><text class="terminal-409832191-r2" x="805.2" y="239.6" textLength="12.2" clip-path="url(#terminal-409832191-line-9)">]</text><text class="terminal-409832191-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-409832191-line-9)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="264" textLength="219.6" clip-path="url(#terminal-409832191-line-10)">  -l, --log-level </text><text class="terminal-409832191-r2" x="219.6" y="264" textLength="12.2" clip-path="url(#terminal-409832191-line-10)">[</text><text class="terminal-409832191-r1" x="231.8" y="264" textLength="402.6" clip-path="url(#terminal-409832191-line-10)">CRITICAL|ERROR|WARNING|INFO|DEBUG</text><text class="terminal-409832191-r2" x="634.4" y="264" textLength="12.2" clip-path="url(#terminal-409832191-line-10)">]</text><text class="terminal-409832191-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-409832191-line-10)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="288.4" textLength="658.8" clip-path="url(#terminal-409832191-line-11)">                                  ANTA logging level  </text><text class="terminal-409832191-r2" x="658.8" y="288.4" textLength="12.2" clip-path="url(#terminal-409832191-line-11)">[</text><text class="terminal-409832191-r1" x="671" y="288.4" textLength="97.6" clip-path="url(#terminal-409832191-line-11)">env var:</text><text class="terminal-409832191-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-409832191-line-11)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="312.8" textLength="768.6" clip-path="url(#terminal-409832191-line-12)">                                  ANTA_LOG_LEVEL; default: INFO</text><text class="terminal-409832191-r2" x="768.6" y="312.8" textLength="12.2" clip-path="url(#terminal-409832191-line-12)">]</text><text class="terminal-409832191-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-409832191-line-12)">
|
||||
</text><text class="terminal-409832191-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-409832191-line-13)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="361.6" textLength="109.8" clip-path="url(#terminal-409832191-line-14)">Commands:</text><text class="terminal-409832191-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-409832191-line-14)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="386" textLength="610" clip-path="url(#terminal-409832191-line-15)">  check  Commands to validate configuration files.</text><text class="terminal-409832191-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-409832191-line-15)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="410.4" textLength="732" clip-path="url(#terminal-409832191-line-16)">  debug  Commands to execute EOS commands on remote devices.</text><text class="terminal-409832191-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-409832191-line-16)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="434.8" textLength="732" clip-path="url(#terminal-409832191-line-17)">  exec   Commands to execute various scripts on EOS devices.</text><text class="terminal-409832191-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-409832191-line-17)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="459.2" textLength="805.2" clip-path="url(#terminal-409832191-line-18)">  get    Commands to get information from or generate inventories.</text><text class="terminal-409832191-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-409832191-line-18)">
|
||||
</text><text class="terminal-409832191-r1" x="0" y="483.6" textLength="658.8" clip-path="url(#terminal-409832191-line-19)">  nrfu   Run ANTA tests on selected inventory devices.</text><text class="terminal-409832191-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-409832191-line-19)">
|
||||
</text><text class="terminal-409832191-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-409832191-line-20)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 14 KiB |
91
docs/imgs/anta_nrfu_csv_help.svg
Normal file
|
@ -0,0 +1,91 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 269.6" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-529781442-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-529781442-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-529781442-r1 { fill: #c5c8c6 }
|
||||
.terminal-529781442-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-529781442-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="218.6" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-529781442-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="267.6" rx="8"/><text class="terminal-529781442-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu csv --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-529781442-clip-terminal)">
|
||||
|
||||
<g class="terminal-529781442-matrix">
|
||||
<text class="terminal-529781442-r1" x="0" y="20" textLength="256.2" clip-path="url(#terminal-529781442-line-0)">Usage: anta nrfu csv </text><text class="terminal-529781442-r2" x="256.2" y="20" textLength="12.2" clip-path="url(#terminal-529781442-line-0)">[</text><text class="terminal-529781442-r1" x="268.4" y="20" textLength="85.4" clip-path="url(#terminal-529781442-line-0)">OPTIONS</text><text class="terminal-529781442-r2" x="353.8" y="20" textLength="12.2" clip-path="url(#terminal-529781442-line-0)">]</text><text class="terminal-529781442-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-529781442-line-0)">
|
||||
</text><text class="terminal-529781442-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-529781442-line-1)">
|
||||
</text><text class="terminal-529781442-r1" x="0" y="68.8" textLength="671" clip-path="url(#terminal-529781442-line-2)">  ANTA command to check network states with CSV result.</text><text class="terminal-529781442-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-529781442-line-2)">
|
||||
</text><text class="terminal-529781442-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-529781442-line-3)">
|
||||
</text><text class="terminal-529781442-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-529781442-line-4)">Options:</text><text class="terminal-529781442-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-529781442-line-4)">
|
||||
</text><text class="terminal-529781442-r1" x="0" y="142" textLength="683.2" clip-path="url(#terminal-529781442-line-5)">  --csv-output FILE  Path to save report as a CSV file  </text><text class="terminal-529781442-r2" x="683.2" y="142" textLength="12.2" clip-path="url(#terminal-529781442-line-5)">[</text><text class="terminal-529781442-r1" x="695.4" y="142" textLength="97.6" clip-path="url(#terminal-529781442-line-5)">env var:</text><text class="terminal-529781442-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-529781442-line-5)">
|
||||
</text><text class="terminal-529781442-r1" x="0" y="166.4" textLength="549" clip-path="url(#terminal-529781442-line-6)">                     ANTA_NRFU_CSV_CSV_OUTPUT</text><text class="terminal-529781442-r2" x="549" y="166.4" textLength="12.2" clip-path="url(#terminal-529781442-line-6)">]</text><text class="terminal-529781442-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-529781442-line-6)">
|
||||
</text><text class="terminal-529781442-r1" x="0" y="190.8" textLength="585.6" clip-path="url(#terminal-529781442-line-7)">  --help             Show this message and exit.</text><text class="terminal-529781442-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-529781442-line-7)">
|
||||
</text><text class="terminal-529781442-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-529781442-line-8)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.2 KiB |
303
docs/imgs/anta_nrfu_help.svg
Normal file
|
@ -0,0 +1,303 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 1538.3999999999999" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-724480872-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-724480872-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-724480872-r1 { fill: #c5c8c6 }
|
||||
.terminal-724480872-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
.terminal-724480872-r3 { fill: #d0b344 }
|
||||
.terminal-724480872-r4 { fill: #98a84b }
|
||||
.terminal-724480872-r5 { fill: #68a0b3;font-weight: bold }
|
||||
.terminal-724480872-r6 { fill: #98729f }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-724480872-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="1487.3999999999999" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-10">
|
||||
<rect x="0" y="245.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-11">
|
||||
<rect x="0" y="269.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-12">
|
||||
<rect x="0" y="294.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-13">
|
||||
<rect x="0" y="318.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-14">
|
||||
<rect x="0" y="343.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-15">
|
||||
<rect x="0" y="367.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-16">
|
||||
<rect x="0" y="391.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-17">
|
||||
<rect x="0" y="416.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-18">
|
||||
<rect x="0" y="440.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-19">
|
||||
<rect x="0" y="465.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-20">
|
||||
<rect x="0" y="489.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-21">
|
||||
<rect x="0" y="513.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-22">
|
||||
<rect x="0" y="538.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-23">
|
||||
<rect x="0" y="562.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-24">
|
||||
<rect x="0" y="587.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-25">
|
||||
<rect x="0" y="611.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-26">
|
||||
<rect x="0" y="635.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-27">
|
||||
<rect x="0" y="660.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-28">
|
||||
<rect x="0" y="684.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-29">
|
||||
<rect x="0" y="709.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-30">
|
||||
<rect x="0" y="733.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-31">
|
||||
<rect x="0" y="757.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-32">
|
||||
<rect x="0" y="782.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-33">
|
||||
<rect x="0" y="806.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-34">
|
||||
<rect x="0" y="831.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-35">
|
||||
<rect x="0" y="855.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-36">
|
||||
<rect x="0" y="879.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-37">
|
||||
<rect x="0" y="904.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-38">
|
||||
<rect x="0" y="928.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-39">
|
||||
<rect x="0" y="953.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-40">
|
||||
<rect x="0" y="977.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-41">
|
||||
<rect x="0" y="1001.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-42">
|
||||
<rect x="0" y="1026.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-43">
|
||||
<rect x="0" y="1050.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-44">
|
||||
<rect x="0" y="1075.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-45">
|
||||
<rect x="0" y="1099.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-46">
|
||||
<rect x="0" y="1123.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-47">
|
||||
<rect x="0" y="1148.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-48">
|
||||
<rect x="0" y="1172.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-49">
|
||||
<rect x="0" y="1197.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-50">
|
||||
<rect x="0" y="1221.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-51">
|
||||
<rect x="0" y="1245.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-52">
|
||||
<rect x="0" y="1270.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-53">
|
||||
<rect x="0" y="1294.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-54">
|
||||
<rect x="0" y="1319.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-55">
|
||||
<rect x="0" y="1343.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-56">
|
||||
<rect x="0" y="1367.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-57">
|
||||
<rect x="0" y="1392.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-58">
|
||||
<rect x="0" y="1416.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-724480872-line-59">
|
||||
<rect x="0" y="1441.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="1536.4" rx="8"/><text class="terminal-724480872-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-724480872-clip-terminal)">
|
||||
|
||||
<g class="terminal-724480872-matrix">
|
||||
<text class="terminal-724480872-r1" x="0" y="20" textLength="207.4" clip-path="url(#terminal-724480872-line-0)">Usage: anta nrfu </text><text class="terminal-724480872-r2" x="207.4" y="20" textLength="12.2" clip-path="url(#terminal-724480872-line-0)">[</text><text class="terminal-724480872-r1" x="219.6" y="20" textLength="85.4" clip-path="url(#terminal-724480872-line-0)">OPTIONS</text><text class="terminal-724480872-r2" x="305" y="20" textLength="12.2" clip-path="url(#terminal-724480872-line-0)">]</text><text class="terminal-724480872-r1" x="317.2" y="20" textLength="109.8" clip-path="url(#terminal-724480872-line-0)"> COMMAND </text><text class="terminal-724480872-r2" x="427" y="20" textLength="12.2" clip-path="url(#terminal-724480872-line-0)">[</text><text class="terminal-724480872-r1" x="439.2" y="20" textLength="48.8" clip-path="url(#terminal-724480872-line-0)">ARGS</text><text class="terminal-724480872-r2" x="488" y="20" textLength="12.2" clip-path="url(#terminal-724480872-line-0)">]</text><text class="terminal-724480872-r3" x="500.2" y="20" textLength="36.6" clip-path="url(#terminal-724480872-line-0)">...</text><text class="terminal-724480872-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-724480872-line-0)">
|
||||
</text><text class="terminal-724480872-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-724480872-line-1)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="68.8" textLength="573.4" clip-path="url(#terminal-724480872-line-2)">  Run ANTA tests on selected inventory devices.</text><text class="terminal-724480872-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-724480872-line-2)">
|
||||
</text><text class="terminal-724480872-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-724480872-line-3)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-724480872-line-4)">Options:</text><text class="terminal-724480872-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-724480872-line-4)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="142" textLength="756.4" clip-path="url(#terminal-724480872-line-5)">  -u, --username TEXT             Username to connect to EOS  </text><text class="terminal-724480872-r2" x="756.4" y="142" textLength="12.2" clip-path="url(#terminal-724480872-line-5)">[</text><text class="terminal-724480872-r1" x="768.6" y="142" textLength="97.6" clip-path="url(#terminal-724480872-line-5)">env var:</text><text class="terminal-724480872-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-724480872-line-5)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="166.4" textLength="695.4" clip-path="url(#terminal-724480872-line-6)">                                  ANTA_USERNAME; required</text><text class="terminal-724480872-r2" x="695.4" y="166.4" textLength="12.2" clip-path="url(#terminal-724480872-line-6)">]</text><text class="terminal-724480872-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-724480872-line-6)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="190.8" textLength="890.6" clip-path="url(#terminal-724480872-line-7)">  -p, --password TEXT             Password to connect to EOS that must be</text><text class="terminal-724480872-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-724480872-line-7)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="215.2" textLength="878.4" clip-path="url(#terminal-724480872-line-8)">                                  provided. It can be prompted using '--</text><text class="terminal-724480872-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-724480872-line-8)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="239.6" textLength="622.2" clip-path="url(#terminal-724480872-line-9)">                                  prompt' option.  </text><text class="terminal-724480872-r2" x="622.2" y="239.6" textLength="12.2" clip-path="url(#terminal-724480872-line-9)">[</text><text class="terminal-724480872-r1" x="634.4" y="239.6" textLength="268.4" clip-path="url(#terminal-724480872-line-9)">env var: ANTA_PASSWORD</text><text class="terminal-724480872-r2" x="902.8" y="239.6" textLength="12.2" clip-path="url(#terminal-724480872-line-9)">]</text><text class="terminal-724480872-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-724480872-line-9)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="264" textLength="951.6" clip-path="url(#terminal-724480872-line-10)">  --enable-password TEXT          Password to access EOS Privileged EXEC mode.</text><text class="terminal-724480872-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-724480872-line-10)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="288.4" textLength="719.8" clip-path="url(#terminal-724480872-line-11)">                                  It can be prompted using </text><text class="terminal-724480872-r4" x="719.8" y="288.4" textLength="122" clip-path="url(#terminal-724480872-line-11)">'--prompt'</text><text class="terminal-724480872-r1" x="841.8" y="288.4" textLength="97.6" clip-path="url(#terminal-724480872-line-11)"> option.</text><text class="terminal-724480872-r1" x="1464" y="288.4" textLength="12.2" clip-path="url(#terminal-724480872-line-11)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="312.8" textLength="524.6" clip-path="url(#terminal-724480872-line-12)">                                  Requires </text><text class="terminal-724480872-r4" x="524.6" y="312.8" textLength="122" clip-path="url(#terminal-724480872-line-12)">'--enable'</text><text class="terminal-724480872-r1" x="646.6" y="312.8" textLength="122" clip-path="url(#terminal-724480872-line-12)"> option.  </text><text class="terminal-724480872-r2" x="768.6" y="312.8" textLength="12.2" clip-path="url(#terminal-724480872-line-12)">[</text><text class="terminal-724480872-r1" x="780.8" y="312.8" textLength="97.6" clip-path="url(#terminal-724480872-line-12)">env var:</text><text class="terminal-724480872-r1" x="1464" y="312.8" textLength="12.2" clip-path="url(#terminal-724480872-line-12)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="337.2" textLength="658.8" clip-path="url(#terminal-724480872-line-13)">                                  ANTA_ENABLE_PASSWORD</text><text class="terminal-724480872-r2" x="658.8" y="337.2" textLength="12.2" clip-path="url(#terminal-724480872-line-13)">]</text><text class="terminal-724480872-r1" x="1464" y="337.2" textLength="12.2" clip-path="url(#terminal-724480872-line-13)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="361.6" textLength="902.8" clip-path="url(#terminal-724480872-line-14)">  --enable                        Some commands may require EOS Privileged</text><text class="terminal-724480872-r1" x="1464" y="361.6" textLength="12.2" clip-path="url(#terminal-724480872-line-14)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="386" textLength="939.4" clip-path="url(#terminal-724480872-line-15)">                                  EXEC mode. This option tries to access this</text><text class="terminal-724480872-r1" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-724480872-line-15)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="410.4" textLength="951.6" clip-path="url(#terminal-724480872-line-16)">                                  mode before sending a command to the device.</text><text class="terminal-724480872-r1" x="1464" y="410.4" textLength="12.2" clip-path="url(#terminal-724480872-line-16)">
|
||||
</text><text class="terminal-724480872-r2" x="414.8" y="434.8" textLength="12.2" clip-path="url(#terminal-724480872-line-17)">[</text><text class="terminal-724480872-r1" x="427" y="434.8" textLength="244" clip-path="url(#terminal-724480872-line-17)">env var: ANTA_ENABLE</text><text class="terminal-724480872-r2" x="671" y="434.8" textLength="12.2" clip-path="url(#terminal-724480872-line-17)">]</text><text class="terminal-724480872-r1" x="1464" y="434.8" textLength="12.2" clip-path="url(#terminal-724480872-line-17)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="459.2" textLength="854" clip-path="url(#terminal-724480872-line-18)">  -P, --prompt                    Prompt for passwords if they are not</text><text class="terminal-724480872-r1" x="1464" y="459.2" textLength="12.2" clip-path="url(#terminal-724480872-line-18)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="483.6" textLength="549" clip-path="url(#terminal-724480872-line-19)">                                  provided.  </text><text class="terminal-724480872-r2" x="549" y="483.6" textLength="12.2" clip-path="url(#terminal-724480872-line-19)">[</text><text class="terminal-724480872-r1" x="561.2" y="483.6" textLength="244" clip-path="url(#terminal-724480872-line-19)">env var: ANTA_PROMPT</text><text class="terminal-724480872-r2" x="805.2" y="483.6" textLength="12.2" clip-path="url(#terminal-724480872-line-19)">]</text><text class="terminal-724480872-r1" x="1464" y="483.6" textLength="12.2" clip-path="url(#terminal-724480872-line-19)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="508" textLength="939.4" clip-path="url(#terminal-724480872-line-20)">  --timeout FLOAT                 Global API timeout. This value will be used</text><text class="terminal-724480872-r1" x="1464" y="508" textLength="12.2" clip-path="url(#terminal-724480872-line-20)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="532.4" textLength="634.4" clip-path="url(#terminal-724480872-line-21)">                                  for all devices.  </text><text class="terminal-724480872-r2" x="634.4" y="532.4" textLength="12.2" clip-path="url(#terminal-724480872-line-21)">[</text><text class="terminal-724480872-r1" x="646.6" y="532.4" textLength="268.4" clip-path="url(#terminal-724480872-line-21)">env var: ANTA_TIMEOUT;</text><text class="terminal-724480872-r1" x="1464" y="532.4" textLength="12.2" clip-path="url(#terminal-724480872-line-21)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="556.8" textLength="524.6" clip-path="url(#terminal-724480872-line-22)">                                  default: </text><text class="terminal-724480872-r5" x="524.6" y="556.8" textLength="48.8" clip-path="url(#terminal-724480872-line-22)">30.0</text><text class="terminal-724480872-r2" x="573.4" y="556.8" textLength="12.2" clip-path="url(#terminal-724480872-line-22)">]</text><text class="terminal-724480872-r1" x="1464" y="556.8" textLength="12.2" clip-path="url(#terminal-724480872-line-22)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="581.2" textLength="829.6" clip-path="url(#terminal-724480872-line-23)">  --insecure                      Disable SSH Host Key validation.  </text><text class="terminal-724480872-r2" x="829.6" y="581.2" textLength="12.2" clip-path="url(#terminal-724480872-line-23)">[</text><text class="terminal-724480872-r1" x="841.8" y="581.2" textLength="97.6" clip-path="url(#terminal-724480872-line-23)">env var:</text><text class="terminal-724480872-r1" x="1464" y="581.2" textLength="12.2" clip-path="url(#terminal-724480872-line-23)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="605.6" textLength="573.4" clip-path="url(#terminal-724480872-line-24)">                                  ANTA_INSECURE</text><text class="terminal-724480872-r2" x="573.4" y="605.6" textLength="12.2" clip-path="url(#terminal-724480872-line-24)">]</text><text class="terminal-724480872-r1" x="1464" y="605.6" textLength="12.2" clip-path="url(#terminal-724480872-line-24)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="630" textLength="719.8" clip-path="url(#terminal-724480872-line-25)">  --disable-cache                 Disable cache globally.  </text><text class="terminal-724480872-r2" x="719.8" y="630" textLength="12.2" clip-path="url(#terminal-724480872-line-25)">[</text><text class="terminal-724480872-r1" x="732" y="630" textLength="97.6" clip-path="url(#terminal-724480872-line-25)">env var:</text><text class="terminal-724480872-r1" x="1464" y="630" textLength="12.2" clip-path="url(#terminal-724480872-line-25)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="654.4" textLength="634.4" clip-path="url(#terminal-724480872-line-26)">                                  ANTA_DISABLE_CACHE</text><text class="terminal-724480872-r2" x="634.4" y="654.4" textLength="12.2" clip-path="url(#terminal-724480872-line-26)">]</text><text class="terminal-724480872-r1" x="1464" y="654.4" textLength="12.2" clip-path="url(#terminal-724480872-line-26)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="678.8" textLength="829.6" clip-path="url(#terminal-724480872-line-27)">  -i, --inventory FILE            Path to the inventory YAML file.  </text><text class="terminal-724480872-r2" x="829.6" y="678.8" textLength="12.2" clip-path="url(#terminal-724480872-line-27)">[</text><text class="terminal-724480872-r1" x="841.8" y="678.8" textLength="97.6" clip-path="url(#terminal-724480872-line-27)">env var:</text><text class="terminal-724480872-r1" x="1464" y="678.8" textLength="12.2" clip-path="url(#terminal-724480872-line-27)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="703.2" textLength="707.6" clip-path="url(#terminal-724480872-line-28)">                                  ANTA_INVENTORY; required</text><text class="terminal-724480872-r2" x="707.6" y="703.2" textLength="12.2" clip-path="url(#terminal-724480872-line-28)">]</text><text class="terminal-724480872-r1" x="1464" y="703.2" textLength="12.2" clip-path="url(#terminal-724480872-line-28)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="727.6" textLength="878.4" clip-path="url(#terminal-724480872-line-29)">  --tags TEXT                     List of tags using comma as separator:</text><text class="terminal-724480872-r1" x="1464" y="727.6" textLength="12.2" clip-path="url(#terminal-724480872-line-29)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="752" textLength="622.2" clip-path="url(#terminal-724480872-line-30)">                                  tag1,tag2,tag3.  </text><text class="terminal-724480872-r2" x="622.2" y="752" textLength="12.2" clip-path="url(#terminal-724480872-line-30)">[</text><text class="terminal-724480872-r1" x="634.4" y="752" textLength="219.6" clip-path="url(#terminal-724480872-line-30)">env var: ANTA_TAGS</text><text class="terminal-724480872-r2" x="854" y="752" textLength="12.2" clip-path="url(#terminal-724480872-line-30)">]</text><text class="terminal-724480872-r1" x="1464" y="752" textLength="12.2" clip-path="url(#terminal-724480872-line-30)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="776.4" textLength="793" clip-path="url(#terminal-724480872-line-31)">  -c, --catalog FILE              Path to the test catalog file  </text><text class="terminal-724480872-r2" x="793" y="776.4" textLength="12.2" clip-path="url(#terminal-724480872-line-31)">[</text><text class="terminal-724480872-r1" x="805.2" y="776.4" textLength="97.6" clip-path="url(#terminal-724480872-line-31)">env var:</text><text class="terminal-724480872-r1" x="1464" y="776.4" textLength="12.2" clip-path="url(#terminal-724480872-line-31)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="800.8" textLength="683.2" clip-path="url(#terminal-724480872-line-32)">                                  ANTA_CATALOG; required</text><text class="terminal-724480872-r2" x="683.2" y="800.8" textLength="12.2" clip-path="url(#terminal-724480872-line-32)">]</text><text class="terminal-724480872-r1" x="1464" y="800.8" textLength="12.2" clip-path="url(#terminal-724480872-line-32)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="825.2" textLength="231.8" clip-path="url(#terminal-724480872-line-33)">  --catalog-format </text><text class="terminal-724480872-r2" x="231.8" y="825.2" textLength="12.2" clip-path="url(#terminal-724480872-line-33)">[</text><text class="terminal-724480872-r1" x="244" y="825.2" textLength="109.8" clip-path="url(#terminal-724480872-line-33)">yaml|json</text><text class="terminal-724480872-r2" x="353.8" y="825.2" textLength="12.2" clip-path="url(#terminal-724480872-line-33)">]</text><text class="terminal-724480872-r1" x="366" y="825.2" textLength="475.8" clip-path="url(#terminal-724480872-line-33)">    Format of the catalog file, either </text><text class="terminal-724480872-r4" x="841.8" y="825.2" textLength="73.2" clip-path="url(#terminal-724480872-line-33)">'yaml'</text><text class="terminal-724480872-r1" x="915" y="825.2" textLength="36.6" clip-path="url(#terminal-724480872-line-33)"> or</text><text class="terminal-724480872-r1" x="1464" y="825.2" textLength="12.2" clip-path="url(#terminal-724480872-line-33)">
|
||||
</text><text class="terminal-724480872-r4" x="414.8" y="849.6" textLength="73.2" clip-path="url(#terminal-724480872-line-34)">'json'</text><text class="terminal-724480872-r2" x="512.4" y="849.6" textLength="12.2" clip-path="url(#terminal-724480872-line-34)">[</text><text class="terminal-724480872-r1" x="524.6" y="849.6" textLength="341.6" clip-path="url(#terminal-724480872-line-34)">env var: ANTA_CATALOG_FORMAT</text><text class="terminal-724480872-r2" x="866.2" y="849.6" textLength="12.2" clip-path="url(#terminal-724480872-line-34)">]</text><text class="terminal-724480872-r1" x="1464" y="849.6" textLength="12.2" clip-path="url(#terminal-724480872-line-34)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="874" textLength="878.4" clip-path="url(#terminal-724480872-line-35)">  -d, --device TEXT               Run tests on a specific device. Can be</text><text class="terminal-724480872-r1" x="1464" y="874" textLength="12.2" clip-path="url(#terminal-724480872-line-35)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="898.4" textLength="707.6" clip-path="url(#terminal-724480872-line-36)">                                  provided multiple times.</text><text class="terminal-724480872-r1" x="1464" y="898.4" textLength="12.2" clip-path="url(#terminal-724480872-line-36)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="922.8" textLength="854" clip-path="url(#terminal-724480872-line-37)">  -t, --test TEXT                 Run a specific test. Can be provided</text><text class="terminal-724480872-r1" x="1464" y="922.8" textLength="12.2" clip-path="url(#terminal-724480872-line-37)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="947.2" textLength="597.8" clip-path="url(#terminal-724480872-line-38)">                                  multiple times.</text><text class="terminal-724480872-r1" x="1464" y="947.2" textLength="12.2" clip-path="url(#terminal-724480872-line-38)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="971.6" textLength="719.8" clip-path="url(#terminal-724480872-line-39)">  --ignore-status                 Exit code will always be </text><text class="terminal-724480872-r5" x="719.8" y="971.6" textLength="12.2" clip-path="url(#terminal-724480872-line-39)">0</text><text class="terminal-724480872-r1" x="732" y="971.6" textLength="36.6" clip-path="url(#terminal-724480872-line-39)">.  </text><text class="terminal-724480872-r2" x="768.6" y="971.6" textLength="12.2" clip-path="url(#terminal-724480872-line-39)">[</text><text class="terminal-724480872-r1" x="780.8" y="971.6" textLength="97.6" clip-path="url(#terminal-724480872-line-39)">env var:</text><text class="terminal-724480872-r1" x="1464" y="971.6" textLength="12.2" clip-path="url(#terminal-724480872-line-39)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="996" textLength="695.4" clip-path="url(#terminal-724480872-line-40)">                                  ANTA_NRFU_IGNORE_STATUS</text><text class="terminal-724480872-r2" x="695.4" y="996" textLength="12.2" clip-path="url(#terminal-724480872-line-40)">]</text><text class="terminal-724480872-r1" x="1464" y="996" textLength="12.2" clip-path="url(#terminal-724480872-line-40)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1020.4" textLength="634.4" clip-path="url(#terminal-724480872-line-41)">  --ignore-error                  Exit code will be </text><text class="terminal-724480872-r5" x="634.4" y="1020.4" textLength="12.2" clip-path="url(#terminal-724480872-line-41)">0</text><text class="terminal-724480872-r1" x="646.6" y="1020.4" textLength="280.6" clip-path="url(#terminal-724480872-line-41)"> if all tests succeeded</text><text class="terminal-724480872-r1" x="1464" y="1020.4" textLength="12.2" clip-path="url(#terminal-724480872-line-41)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1044.8" textLength="451.4" clip-path="url(#terminal-724480872-line-42)">                                  or </text><text class="terminal-724480872-r5" x="451.4" y="1044.8" textLength="12.2" clip-path="url(#terminal-724480872-line-42)">1</text><text class="terminal-724480872-r1" x="463.6" y="1044.8" textLength="268.4" clip-path="url(#terminal-724480872-line-42)"> if any test failed.  </text><text class="terminal-724480872-r2" x="732" y="1044.8" textLength="12.2" clip-path="url(#terminal-724480872-line-42)">[</text><text class="terminal-724480872-r1" x="744.2" y="1044.8" textLength="97.6" clip-path="url(#terminal-724480872-line-42)">env var:</text><text class="terminal-724480872-r1" x="1464" y="1044.8" textLength="12.2" clip-path="url(#terminal-724480872-line-42)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1069.2" textLength="683.2" clip-path="url(#terminal-724480872-line-43)">                                  ANTA_NRFU_IGNORE_ERROR</text><text class="terminal-724480872-r2" x="683.2" y="1069.2" textLength="12.2" clip-path="url(#terminal-724480872-line-43)">]</text><text class="terminal-724480872-r1" x="1464" y="1069.2" textLength="12.2" clip-path="url(#terminal-724480872-line-43)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1093.6" textLength="109.8" clip-path="url(#terminal-724480872-line-44)">  --hide </text><text class="terminal-724480872-r2" x="109.8" y="1093.6" textLength="12.2" clip-path="url(#terminal-724480872-line-44)">[</text><text class="terminal-724480872-r1" x="122" y="1093.6" textLength="353.8" clip-path="url(#terminal-724480872-line-44)">success|failure|error|skipped</text><text class="terminal-724480872-r2" x="475.8" y="1093.6" textLength="12.2" clip-path="url(#terminal-724480872-line-44)">]</text><text class="terminal-724480872-r1" x="1464" y="1093.6" textLength="12.2" clip-path="url(#terminal-724480872-line-44)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1118" textLength="780.8" clip-path="url(#terminal-724480872-line-45)">                                  Hide results by type: success </text><text class="terminal-724480872-r6" x="780.8" y="1118" textLength="12.2" clip-path="url(#terminal-724480872-line-45)">/</text><text class="terminal-724480872-r1" x="793" y="1118" textLength="109.8" clip-path="url(#terminal-724480872-line-45)"> failure </text><text class="terminal-724480872-r6" x="902.8" y="1118" textLength="12.2" clip-path="url(#terminal-724480872-line-45)">/</text><text class="terminal-724480872-r1" x="1464" y="1118" textLength="12.2" clip-path="url(#terminal-724480872-line-45)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1142.4" textLength="488" clip-path="url(#terminal-724480872-line-46)">                                  error </text><text class="terminal-724480872-r6" x="488" y="1142.4" textLength="12.2" clip-path="url(#terminal-724480872-line-46)">/</text><text class="terminal-724480872-r1" x="500.2" y="1142.4" textLength="122" clip-path="url(#terminal-724480872-line-46)"> skipped'.</text><text class="terminal-724480872-r1" x="1464" y="1142.4" textLength="12.2" clip-path="url(#terminal-724480872-line-46)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1166.8" textLength="866.2" clip-path="url(#terminal-724480872-line-47)">  --dry-run                       Run anta nrfu command but stop before</text><text class="terminal-724480872-r1" x="1464" y="1166.8" textLength="12.2" clip-path="url(#terminal-724480872-line-47)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1191.2" textLength="951.6" clip-path="url(#terminal-724480872-line-48)">                                  starting to execute the tests. Considers all</text><text class="terminal-724480872-r1" x="1464" y="1191.2" textLength="12.2" clip-path="url(#terminal-724480872-line-48)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1215.6" textLength="695.4" clip-path="url(#terminal-724480872-line-49)">                                  devices as connected.  </text><text class="terminal-724480872-r2" x="695.4" y="1215.6" textLength="12.2" clip-path="url(#terminal-724480872-line-49)">[</text><text class="terminal-724480872-r1" x="707.6" y="1215.6" textLength="97.6" clip-path="url(#terminal-724480872-line-49)">env var:</text><text class="terminal-724480872-r1" x="1464" y="1215.6" textLength="12.2" clip-path="url(#terminal-724480872-line-49)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1240" textLength="622.2" clip-path="url(#terminal-724480872-line-50)">                                  ANTA_NRFU_DRY_RUN</text><text class="terminal-724480872-r2" x="622.2" y="1240" textLength="12.2" clip-path="url(#terminal-724480872-line-50)">]</text><text class="terminal-724480872-r1" x="1464" y="1240" textLength="12.2" clip-path="url(#terminal-724480872-line-50)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1264.4" textLength="744.2" clip-path="url(#terminal-724480872-line-51)">  --help                          Show this message and exit.</text><text class="terminal-724480872-r1" x="1464" y="1264.4" textLength="12.2" clip-path="url(#terminal-724480872-line-51)">
|
||||
</text><text class="terminal-724480872-r1" x="1464" y="1288.8" textLength="12.2" clip-path="url(#terminal-724480872-line-52)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1313.2" textLength="109.8" clip-path="url(#terminal-724480872-line-53)">Commands:</text><text class="terminal-724480872-r1" x="1464" y="1313.2" textLength="12.2" clip-path="url(#terminal-724480872-line-53)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1337.6" textLength="817.4" clip-path="url(#terminal-724480872-line-54)">  csv         ANTA command to check network states with CSV result.</text><text class="terminal-724480872-r1" x="1464" y="1337.6" textLength="12.2" clip-path="url(#terminal-724480872-line-54)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1362" textLength="829.6" clip-path="url(#terminal-724480872-line-55)">  json        ANTA command to check network state with JSON results.</text><text class="terminal-724480872-r1" x="1464" y="1362" textLength="12.2" clip-path="url(#terminal-724480872-line-55)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1386.4" textLength="866.2" clip-path="url(#terminal-724480872-line-56)">  md-report   ANTA command to check network state with Markdown report.</text><text class="terminal-724480872-r1" x="1464" y="1386.4" textLength="12.2" clip-path="url(#terminal-724480872-line-56)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1410.8" textLength="841.8" clip-path="url(#terminal-724480872-line-57)">  table       ANTA command to check network state with table results.</text><text class="terminal-724480872-r1" x="1464" y="1410.8" textLength="12.2" clip-path="url(#terminal-724480872-line-57)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1435.2" textLength="829.6" clip-path="url(#terminal-724480872-line-58)">  text        ANTA command to check network state with text results.</text><text class="terminal-724480872-r1" x="1464" y="1435.2" textLength="12.2" clip-path="url(#terminal-724480872-line-58)">
|
||||
</text><text class="terminal-724480872-r1" x="0" y="1459.6" textLength="878.4" clip-path="url(#terminal-724480872-line-59)">  tpl-report  ANTA command to check network state with templated report.</text><text class="terminal-724480872-r1" x="1464" y="1459.6" textLength="12.2" clip-path="url(#terminal-724480872-line-59)">
|
||||
</text><text class="terminal-724480872-r1" x="1464" y="1484" textLength="12.2" clip-path="url(#terminal-724480872-line-60)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 44 KiB |
91
docs/imgs/anta_nrfu_json_help.svg
Normal file
|
@ -0,0 +1,91 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 269.6" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1762251436-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1762251436-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1762251436-r1 { fill: #c5c8c6 }
|
||||
.terminal-1762251436-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1762251436-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="218.6" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1762251436-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="267.6" rx="8"/><text class="terminal-1762251436-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu json --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1762251436-clip-terminal)">
|
||||
|
||||
<g class="terminal-1762251436-matrix">
|
||||
<text class="terminal-1762251436-r1" x="0" y="20" textLength="268.4" clip-path="url(#terminal-1762251436-line-0)">Usage: anta nrfu json </text><text class="terminal-1762251436-r2" x="268.4" y="20" textLength="12.2" clip-path="url(#terminal-1762251436-line-0)">[</text><text class="terminal-1762251436-r1" x="280.6" y="20" textLength="85.4" clip-path="url(#terminal-1762251436-line-0)">OPTIONS</text><text class="terminal-1762251436-r2" x="366" y="20" textLength="12.2" clip-path="url(#terminal-1762251436-line-0)">]</text><text class="terminal-1762251436-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1762251436-line-0)">
|
||||
</text><text class="terminal-1762251436-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-1762251436-line-1)">
|
||||
</text><text class="terminal-1762251436-r1" x="0" y="68.8" textLength="683.2" clip-path="url(#terminal-1762251436-line-2)">  ANTA command to check network state with JSON results.</text><text class="terminal-1762251436-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1762251436-line-2)">
|
||||
</text><text class="terminal-1762251436-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1762251436-line-3)">
|
||||
</text><text class="terminal-1762251436-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-1762251436-line-4)">Options:</text><text class="terminal-1762251436-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1762251436-line-4)">
|
||||
</text><text class="terminal-1762251436-r1" x="0" y="142" textLength="695.4" clip-path="url(#terminal-1762251436-line-5)">  -o, --output FILE  Path to save report as a JSON file  </text><text class="terminal-1762251436-r2" x="695.4" y="142" textLength="12.2" clip-path="url(#terminal-1762251436-line-5)">[</text><text class="terminal-1762251436-r1" x="707.6" y="142" textLength="97.6" clip-path="url(#terminal-1762251436-line-5)">env var:</text><text class="terminal-1762251436-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-1762251436-line-5)">
|
||||
</text><text class="terminal-1762251436-r1" x="0" y="166.4" textLength="512.4" clip-path="url(#terminal-1762251436-line-6)">                     ANTA_NRFU_JSON_OUTPUT</text><text class="terminal-1762251436-r2" x="512.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1762251436-line-6)">]</text><text class="terminal-1762251436-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-1762251436-line-6)">
|
||||
</text><text class="terminal-1762251436-r1" x="0" y="190.8" textLength="585.6" clip-path="url(#terminal-1762251436-line-7)">  --help             Show this message and exit.</text><text class="terminal-1762251436-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-1762251436-line-7)">
|
||||
</text><text class="terminal-1762251436-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-1762251436-line-8)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.2 KiB |
91
docs/imgs/anta_nrfu_mdreport_help.svg
Normal file
|
@ -0,0 +1,91 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 269.6" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-1686430077-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-1686430077-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-1686430077-r1 { fill: #c5c8c6 }
|
||||
.terminal-1686430077-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-1686430077-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="218.6" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-1686430077-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="267.6" rx="8"/><text class="terminal-1686430077-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu md-report --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-1686430077-clip-terminal)">
|
||||
|
||||
<g class="terminal-1686430077-matrix">
|
||||
<text class="terminal-1686430077-r1" x="0" y="20" textLength="329.4" clip-path="url(#terminal-1686430077-line-0)">Usage: anta nrfu md-report </text><text class="terminal-1686430077-r2" x="329.4" y="20" textLength="12.2" clip-path="url(#terminal-1686430077-line-0)">[</text><text class="terminal-1686430077-r1" x="341.6" y="20" textLength="85.4" clip-path="url(#terminal-1686430077-line-0)">OPTIONS</text><text class="terminal-1686430077-r2" x="427" y="20" textLength="12.2" clip-path="url(#terminal-1686430077-line-0)">]</text><text class="terminal-1686430077-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1686430077-line-0)">
|
||||
</text><text class="terminal-1686430077-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-1686430077-line-1)">
|
||||
</text><text class="terminal-1686430077-r1" x="0" y="68.8" textLength="719.8" clip-path="url(#terminal-1686430077-line-2)">  ANTA command to check network state with Markdown report.</text><text class="terminal-1686430077-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1686430077-line-2)">
|
||||
</text><text class="terminal-1686430077-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1686430077-line-3)">
|
||||
</text><text class="terminal-1686430077-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-1686430077-line-4)">Options:</text><text class="terminal-1686430077-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1686430077-line-4)">
|
||||
</text><text class="terminal-1686430077-r1" x="0" y="142" textLength="780.8" clip-path="url(#terminal-1686430077-line-5)">  --md-output FILE  Path to save the report as a Markdown file  </text><text class="terminal-1686430077-r2" x="780.8" y="142" textLength="12.2" clip-path="url(#terminal-1686430077-line-5)">[</text><text class="terminal-1686430077-r1" x="793" y="142" textLength="97.6" clip-path="url(#terminal-1686430077-line-5)">env var:</text><text class="terminal-1686430077-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-1686430077-line-5)">
|
||||
</text><text class="terminal-1686430077-r1" x="0" y="166.4" textLength="719.8" clip-path="url(#terminal-1686430077-line-6)">                    ANTA_NRFU_MD_REPORT_MD_OUTPUT; required</text><text class="terminal-1686430077-r2" x="719.8" y="166.4" textLength="12.2" clip-path="url(#terminal-1686430077-line-6)">]</text><text class="terminal-1686430077-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-1686430077-line-6)">
|
||||
</text><text class="terminal-1686430077-r1" x="0" y="190.8" textLength="573.4" clip-path="url(#terminal-1686430077-line-7)">  --help            Show this message and exit.</text><text class="terminal-1686430077-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-1686430077-line-7)">
|
||||
</text><text class="terminal-1686430077-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-1686430077-line-8)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.3 KiB |
87
docs/imgs/anta_nrfu_table_help.svg
Normal file
|
@ -0,0 +1,87 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 245.2" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-3479160619-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-3479160619-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-3479160619-r1 { fill: #c5c8c6 }
|
||||
.terminal-3479160619-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-3479160619-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="194.2" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3479160619-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="243.2" rx="8"/><text class="terminal-3479160619-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu table --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-3479160619-clip-terminal)">
|
||||
|
||||
<g class="terminal-3479160619-matrix">
|
||||
<text class="terminal-3479160619-r1" x="0" y="20" textLength="280.6" clip-path="url(#terminal-3479160619-line-0)">Usage: anta nrfu table </text><text class="terminal-3479160619-r2" x="280.6" y="20" textLength="12.2" clip-path="url(#terminal-3479160619-line-0)">[</text><text class="terminal-3479160619-r1" x="292.8" y="20" textLength="85.4" clip-path="url(#terminal-3479160619-line-0)">OPTIONS</text><text class="terminal-3479160619-r2" x="378.2" y="20" textLength="12.2" clip-path="url(#terminal-3479160619-line-0)">]</text><text class="terminal-3479160619-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3479160619-line-0)">
|
||||
</text><text class="terminal-3479160619-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3479160619-line-1)">
|
||||
</text><text class="terminal-3479160619-r1" x="0" y="68.8" textLength="695.4" clip-path="url(#terminal-3479160619-line-2)">  ANTA command to check network state with table results.</text><text class="terminal-3479160619-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3479160619-line-2)">
|
||||
</text><text class="terminal-3479160619-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3479160619-line-3)">
|
||||
</text><text class="terminal-3479160619-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-3479160619-line-4)">Options:</text><text class="terminal-3479160619-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3479160619-line-4)">
|
||||
</text><text class="terminal-3479160619-r1" x="0" y="142" textLength="158.6" clip-path="url(#terminal-3479160619-line-5)">  --group-by </text><text class="terminal-3479160619-r2" x="158.6" y="142" textLength="12.2" clip-path="url(#terminal-3479160619-line-5)">[</text><text class="terminal-3479160619-r1" x="170.8" y="142" textLength="134.2" clip-path="url(#terminal-3479160619-line-5)">device|test</text><text class="terminal-3479160619-r2" x="305" y="142" textLength="12.2" clip-path="url(#terminal-3479160619-line-5)">]</text><text class="terminal-3479160619-r1" x="317.2" y="142" textLength="402.6" clip-path="url(#terminal-3479160619-line-5)">  Group result by test or device.</text><text class="terminal-3479160619-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-3479160619-line-5)">
|
||||
</text><text class="terminal-3479160619-r1" x="0" y="166.4" textLength="671" clip-path="url(#terminal-3479160619-line-6)">  --help                    Show this message and exit.</text><text class="terminal-3479160619-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-3479160619-line-6)">
|
||||
</text><text class="terminal-3479160619-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-3479160619-line-7)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.9 KiB |
83
docs/imgs/anta_nrfu_text_help.svg
Normal file
|
@ -0,0 +1,83 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 220.79999999999998" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-3793388881-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-3793388881-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-3793388881-r1 { fill: #c5c8c6 }
|
||||
.terminal-3793388881-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-3793388881-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="169.79999999999998" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-3793388881-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="218.8" rx="8"/><text class="terminal-3793388881-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu text --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-3793388881-clip-terminal)">
|
||||
|
||||
<g class="terminal-3793388881-matrix">
|
||||
<text class="terminal-3793388881-r1" x="0" y="20" textLength="268.4" clip-path="url(#terminal-3793388881-line-0)">Usage: anta nrfu text </text><text class="terminal-3793388881-r2" x="268.4" y="20" textLength="12.2" clip-path="url(#terminal-3793388881-line-0)">[</text><text class="terminal-3793388881-r1" x="280.6" y="20" textLength="85.4" clip-path="url(#terminal-3793388881-line-0)">OPTIONS</text><text class="terminal-3793388881-r2" x="366" y="20" textLength="12.2" clip-path="url(#terminal-3793388881-line-0)">]</text><text class="terminal-3793388881-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-3793388881-line-0)">
|
||||
</text><text class="terminal-3793388881-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-3793388881-line-1)">
|
||||
</text><text class="terminal-3793388881-r1" x="0" y="68.8" textLength="683.2" clip-path="url(#terminal-3793388881-line-2)">  ANTA command to check network state with text results.</text><text class="terminal-3793388881-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-3793388881-line-2)">
|
||||
</text><text class="terminal-3793388881-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-3793388881-line-3)">
|
||||
</text><text class="terminal-3793388881-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-3793388881-line-4)">Options:</text><text class="terminal-3793388881-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-3793388881-line-4)">
|
||||
</text><text class="terminal-3793388881-r1" x="0" y="142" textLength="451.4" clip-path="url(#terminal-3793388881-line-5)">  --help  Show this message and exit.</text><text class="terminal-3793388881-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-3793388881-line-5)">
|
||||
</text><text class="terminal-3793388881-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-3793388881-line-6)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.8 KiB |
99
docs/imgs/anta_nrfu_tplreport_help.svg
Normal file
|
@ -0,0 +1,99 @@
|
|||
<svg class="rich-terminal" viewBox="0 0 1482 318.4" xmlns="http://www.w3.org/2000/svg">
|
||||
<!-- Generated with Rich https://www.textualize.io -->
|
||||
<style>
|
||||
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Regular"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "Fira Code";
|
||||
src: local("FiraCode-Bold"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
|
||||
url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
|
||||
font-style: bold;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.terminal-2361930775-matrix {
|
||||
font-family: Fira Code, monospace;
|
||||
font-size: 20px;
|
||||
line-height: 24.4px;
|
||||
font-variant-east-asian: full-width;
|
||||
}
|
||||
|
||||
.terminal-2361930775-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
.terminal-2361930775-r1 { fill: #c5c8c6 }
|
||||
.terminal-2361930775-r2 { fill: #c5c8c6;font-weight: bold }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<clipPath id="terminal-2361930775-clip-terminal">
|
||||
<rect x="0" y="0" width="1463.0" height="267.4" />
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-0">
|
||||
<rect x="0" y="1.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-1">
|
||||
<rect x="0" y="25.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-2">
|
||||
<rect x="0" y="50.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-3">
|
||||
<rect x="0" y="74.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-4">
|
||||
<rect x="0" y="99.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-5">
|
||||
<rect x="0" y="123.5" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-6">
|
||||
<rect x="0" y="147.9" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-7">
|
||||
<rect x="0" y="172.3" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-8">
|
||||
<rect x="0" y="196.7" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
<clipPath id="terminal-2361930775-line-9">
|
||||
<rect x="0" y="221.1" width="1464" height="24.65"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
|
||||
<rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="316.4" rx="8"/><text class="terminal-2361930775-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">anta nrfu tpl-report --help</text>
|
||||
<g transform="translate(26,22)">
|
||||
<circle cx="0" cy="0" r="7" fill="#ff5f57"/>
|
||||
<circle cx="22" cy="0" r="7" fill="#febc2e"/>
|
||||
<circle cx="44" cy="0" r="7" fill="#28c840"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(9, 41)" clip-path="url(#terminal-2361930775-clip-terminal)">
|
||||
|
||||
<g class="terminal-2361930775-matrix">
|
||||
<text class="terminal-2361930775-r1" x="0" y="20" textLength="341.6" clip-path="url(#terminal-2361930775-line-0)">Usage: anta nrfu tpl-report </text><text class="terminal-2361930775-r2" x="341.6" y="20" textLength="12.2" clip-path="url(#terminal-2361930775-line-0)">[</text><text class="terminal-2361930775-r1" x="353.8" y="20" textLength="85.4" clip-path="url(#terminal-2361930775-line-0)">OPTIONS</text><text class="terminal-2361930775-r2" x="439.2" y="20" textLength="12.2" clip-path="url(#terminal-2361930775-line-0)">]</text><text class="terminal-2361930775-r1" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-2361930775-line-0)">
|
||||
</text><text class="terminal-2361930775-r1" x="1464" y="44.4" textLength="12.2" clip-path="url(#terminal-2361930775-line-1)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="68.8" textLength="732" clip-path="url(#terminal-2361930775-line-2)">  ANTA command to check network state with templated report.</text><text class="terminal-2361930775-r1" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-2361930775-line-2)">
|
||||
</text><text class="terminal-2361930775-r1" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-2361930775-line-3)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="117.6" textLength="97.6" clip-path="url(#terminal-2361930775-line-4)">Options:</text><text class="terminal-2361930775-r1" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-2361930775-line-4)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="142" textLength="841.8" clip-path="url(#terminal-2361930775-line-5)">  -tpl, --template FILE  Path to the template to use for the report  </text><text class="terminal-2361930775-r2" x="841.8" y="142" textLength="12.2" clip-path="url(#terminal-2361930775-line-5)">[</text><text class="terminal-2361930775-r1" x="854" y="142" textLength="97.6" clip-path="url(#terminal-2361930775-line-5)">env var:</text><text class="terminal-2361930775-r1" x="1464" y="142" textLength="12.2" clip-path="url(#terminal-2361930775-line-5)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="166.4" textLength="780.8" clip-path="url(#terminal-2361930775-line-6)">                         ANTA_NRFU_TPL_REPORT_TEMPLATE; required</text><text class="terminal-2361930775-r2" x="780.8" y="166.4" textLength="12.2" clip-path="url(#terminal-2361930775-line-6)">]</text><text class="terminal-2361930775-r1" x="1464" y="166.4" textLength="12.2" clip-path="url(#terminal-2361930775-line-6)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="190.8" textLength="683.2" clip-path="url(#terminal-2361930775-line-7)">  -o, --output FILE      Path to save report as a file  </text><text class="terminal-2361930775-r2" x="683.2" y="190.8" textLength="12.2" clip-path="url(#terminal-2361930775-line-7)">[</text><text class="terminal-2361930775-r1" x="695.4" y="190.8" textLength="97.6" clip-path="url(#terminal-2361930775-line-7)">env var:</text><text class="terminal-2361930775-r1" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-2361930775-line-7)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="215.2" textLength="634.4" clip-path="url(#terminal-2361930775-line-8)">                         ANTA_NRFU_TPL_REPORT_OUTPUT</text><text class="terminal-2361930775-r2" x="634.4" y="215.2" textLength="12.2" clip-path="url(#terminal-2361930775-line-8)">]</text><text class="terminal-2361930775-r1" x="1464" y="215.2" textLength="12.2" clip-path="url(#terminal-2361930775-line-8)">
|
||||
</text><text class="terminal-2361930775-r1" x="0" y="239.6" textLength="634.4" clip-path="url(#terminal-2361930775-line-9)">  --help                 Show this message and exit.</text><text class="terminal-2361930775-r1" x="1464" y="239.6" textLength="12.2" clip-path="url(#terminal-2361930775-line-9)">
|
||||
</text><text class="terminal-2361930775-r1" x="1464" y="264" textLength="12.2" clip-path="url(#terminal-2361930775-line-10)">
|
||||
</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 8.7 KiB |
|
@ -1,5 +1,5 @@
|
|||
<!--
|
||||
~ Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
~ 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.
|
||||
-->
|
||||
|
@ -84,7 +84,7 @@ which anta
|
|||
```bash
|
||||
# Check ANTA version
|
||||
anta --version
|
||||
anta, version v1.2.0
|
||||
anta, version v1.3.0
|
||||
```
|
||||
|
||||
## EOS Requirements
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
# Copyright (c) 2024 Arista Networks, Inc.
|
||||
# Use of this source code is governed by the Apache License 2.0
|
||||
# that can be found in the LICENSE file.
|
||||
"""Scripts for ANTA documentation."""
|
29
docs/scripts/generate_doc_snippets.py
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env python
|
||||
# Copyright (c) 2024-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.
|
||||
"""Generates SVG for documentation purposes."""
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# TODO: svg in another PR
|
||||
from generate_snippet import main as generate_snippet
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parents[2]))
|
||||
|
||||
COMMANDS = [
|
||||
"anta --help",
|
||||
"anta nrfu --help",
|
||||
"anta nrfu csv --help",
|
||||
"anta nrfu json --help",
|
||||
"anta nrfu table --help",
|
||||
"anta nrfu text --help",
|
||||
"anta nrfu tpl-report --help",
|
||||
"anta nrfu md-report --help",
|
||||
"anta get tags --help",
|
||||
]
|
||||
|
||||
for command in COMMANDS:
|
||||
# TODO: svg in another PR
|
||||
generate_snippet(command.split(" "), output="txt")
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env python
|
||||
# Copyright (c) 2024 Arista Networks, Inc.
|
||||
# Copyright (c) 2024-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.
|
||||
"""Generates examples/tests.py."""
|
||||
|
|
60
docs/scripts/generate_svg.py → docs/scripts/generate_snippet.py
Normal file → Executable file
|
@ -1,11 +1,12 @@
|
|||
# Copyright (c) 2023-2024 Arista Networks, Inc.
|
||||
#!/usr/bin/env python
|
||||
# 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.
|
||||
"""A script to generate svg files from anta command.
|
||||
"""A script to generate svg or txt files from anta command.
|
||||
|
||||
usage:
|
||||
|
||||
python generate_svg.py anta ...
|
||||
python generate_snippet.py anta ...
|
||||
"""
|
||||
# This script is not a package
|
||||
# ruff: noqa: INP001
|
||||
|
@ -20,12 +21,15 @@ import sys
|
|||
from contextlib import redirect_stdout, suppress
|
||||
from importlib import import_module
|
||||
from importlib.metadata import entry_points
|
||||
from typing import Literal
|
||||
from unittest.mock import patch
|
||||
|
||||
from rich.console import Console
|
||||
from rich.logging import RichHandler
|
||||
from rich.markup import escape
|
||||
from rich.progress import Progress
|
||||
|
||||
sys.path.insert(0, str(pathlib.Path(__file__).parents[2]))
|
||||
|
||||
from anta.cli.console import console
|
||||
from anta.cli.nrfu.utils import anta_progress_bar
|
||||
|
||||
|
@ -35,9 +39,6 @@ r = RichHandler(console=console)
|
|||
root.addHandler(r)
|
||||
|
||||
|
||||
OUTPUT_DIR = pathlib.Path(__file__).parent.parent / "imgs"
|
||||
|
||||
|
||||
def custom_progress_bar() -> Progress:
|
||||
"""Set the console of progress_bar to main anta console.
|
||||
|
||||
|
@ -50,12 +51,14 @@ def custom_progress_bar() -> Progress:
|
|||
return progress
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
def main(args: list[str], output: Literal["svg", "txt"] = "svg") -> None:
|
||||
"""Execute the script."""
|
||||
# Sane rich size
|
||||
os.environ["COLUMNS"] = "120"
|
||||
|
||||
output_dir = pathlib.Path(__file__).parent.parent / "snippets" if output == "txt" else pathlib.Path(__file__).parent.parent / "imgs"
|
||||
|
||||
# stolen from https://github.com/ewels/rich-click/blob/main/src/rich_click/cli.py
|
||||
args = sys.argv[1:]
|
||||
script_name = args[0]
|
||||
console_scripts = entry_points(group="console_scripts")
|
||||
scripts = {script.name: script for script in console_scripts}
|
||||
|
@ -80,27 +83,32 @@ if __name__ == "__main__":
|
|||
module = import_module(module_path)
|
||||
function = getattr(module, function_name)
|
||||
|
||||
# Console to captur everything
|
||||
new_console = Console(record=True)
|
||||
|
||||
pipe = io.StringIO()
|
||||
console.record = True
|
||||
console.file = pipe
|
||||
with redirect_stdout(io.StringIO()) as f:
|
||||
# tweaks to record and redirect to a dummy file
|
||||
|
||||
console.print(f"ant@anthill$ {' '.join(sys.argv)}")
|
||||
|
||||
# Redirect stdout of the program towards another StringIO to capture help
|
||||
# that is not part or anta rich console
|
||||
# redirect potential progress bar output to console by patching
|
||||
with patch("anta.cli.nrfu.utils.anta_progress_bar", custom_progress_bar), suppress(SystemExit):
|
||||
function()
|
||||
# Redirect stdout of the program towards another StringIO to capture help
|
||||
# that is not part or anta rich console
|
||||
# redirect potential progress bar output to console by patching
|
||||
with redirect_stdout(io.StringIO()) as f, patch("anta.cli.nrfu.utils.anta_progress_bar", custom_progress_bar), suppress(SystemExit):
|
||||
if output == "txt":
|
||||
console.print(f"$ {' '.join(sys.argv)}")
|
||||
function()
|
||||
|
||||
if "--help" in args:
|
||||
console.print(f.getvalue())
|
||||
console.print(escape(f.getvalue()))
|
||||
|
||||
filename = f"{'_'.join(x.replace('/', '_').replace('-', '').replace('.', '') for x in args)}.{output}"
|
||||
filename = output_dir / filename
|
||||
if output == "txt":
|
||||
content = console.export_text()[:-1]
|
||||
with filename.open("w") as fd:
|
||||
fd.write(content)
|
||||
# TODO: Not using this to avoid newline console.save_text(str(filename))
|
||||
elif output == "svg":
|
||||
console.save_svg(str(filename), title=" ".join(args))
|
||||
|
||||
filename = f"{'_'.join(x.replace('/', '_').replace('-', '_').replace('.', '_') for x in args)}.svg"
|
||||
filename = f"{OUTPUT_DIR}/{filename}"
|
||||
print(f"File saved at {filename}")
|
||||
console.save_svg(filename, title=" ".join(args))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1:], "txt")
|
11
docs/snippets/anta_debug_help.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
$ anta debug --help
|
||||
Usage: anta debug [OPTIONS] COMMAND [ARGS]...
|
||||
|
||||
Commands to execute EOS commands on remote devices.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
|
||||
Commands:
|
||||
run-cmd Run arbitrary command to an ANTA device.
|
||||
run-template Run arbitrary templated command to an ANTA device.
|
35
docs/snippets/anta_get_tags_help.txt
Normal file
|
@ -0,0 +1,35 @@
|
|||
$ anta get tags --help
|
||||
Usage: anta get tags [OPTIONS]
|
||||
|
||||
Get list of configured tags in user inventory.
|
||||
|
||||
Options:
|
||||
-u, --username TEXT Username to connect to EOS [env var:
|
||||
ANTA_USERNAME; required]
|
||||
-p, --password TEXT Password to connect to EOS that must be
|
||||
provided. It can be prompted using '--
|
||||
prompt' option. [env var: ANTA_PASSWORD]
|
||||
--enable-password TEXT Password to access EOS Privileged EXEC mode.
|
||||
It can be prompted using '--prompt' option.
|
||||
Requires '--enable' option. [env var:
|
||||
ANTA_ENABLE_PASSWORD]
|
||||
--enable Some commands may require EOS Privileged
|
||||
EXEC mode. This option tries to access this
|
||||
mode before sending a command to the device.
|
||||
[env var: ANTA_ENABLE]
|
||||
-P, --prompt Prompt for passwords if they are not
|
||||
provided. [env var: ANTA_PROMPT]
|
||||
--timeout FLOAT Global API timeout. This value will be used
|
||||
for all devices. [env var: ANTA_TIMEOUT;
|
||||
default: 30.0]
|
||||
--insecure Disable SSH Host Key validation. [env var:
|
||||
ANTA_INSECURE]
|
||||
--disable-cache Disable cache globally. [env var:
|
||||
ANTA_DISABLE_CACHE]
|
||||
-i, --inventory FILE Path to the inventory YAML file. [env var:
|
||||
ANTA_INVENTORY; required]
|
||||
--inventory-format [yaml|json] Format of the inventory file, either 'yaml'
|
||||
or 'json' [env var: ANTA_INVENTORY_FORMAT]
|
||||
--tags TEXT List of tags using comma as separator:
|
||||
tag1,tag2,tag3. [env var: ANTA_TAGS]
|
||||
--help Show this message and exit.
|
|
@ -1,8 +1,10 @@
|
|||
$ anta --help
|
||||
Usage: anta [OPTIONS] COMMAND [ARGS]...
|
||||
|
||||
Arista Network Test Automation (ANTA) CLI.
|
||||
|
||||
Options:
|
||||
--help Show this message and exit.
|
||||
--version Show the version and exit.
|
||||
--log-file FILE Send the logs to a file. If logging level is
|
||||
DEBUG, only INFO or higher will be sent to
|
||||
|
@ -10,7 +12,6 @@ Options:
|
|||
-l, --log-level [CRITICAL|ERROR|WARNING|INFO|DEBUG]
|
||||
ANTA logging level [env var:
|
||||
ANTA_LOG_LEVEL; default: INFO]
|
||||
--help Show this message and exit.
|
||||
|
||||
Commands:
|
||||
check Commands to validate configuration files.
|
||||
|
|
9
docs/snippets/anta_nrfu_csv_help.txt
Normal file
|
@ -0,0 +1,9 @@
|
|||
$ anta nrfu csv --help
|
||||
Usage: anta nrfu csv [OPTIONS]
|
||||
|
||||
ANTA command to check network state with CSV report.
|
||||
|
||||
Options:
|
||||
--csv-output FILE Path to save report as a CSV file [env var:
|
||||
ANTA_NRFU_CSV_CSV_OUTPUT; required]
|
||||
--help Show this message and exit.
|
|
@ -1,3 +1,4 @@
|
|||
$ anta nrfu --help
|
||||
Usage: anta nrfu [OPTIONS] COMMAND [ARGS]...
|
||||
|
||||
Run ANTA tests on selected inventory devices.
|
||||
|
@ -27,6 +28,8 @@ Options:
|
|||
ANTA_DISABLE_CACHE]
|
||||
-i, --inventory FILE Path to the inventory YAML file. [env var:
|
||||
ANTA_INVENTORY; required]
|
||||
--inventory-format [yaml|json] Format of the inventory file, either 'yaml'
|
||||
or 'json' [env var: ANTA_INVENTORY_FORMAT]
|
||||
--tags TEXT List of tags using comma as separator:
|
||||
tag1,tag2,tag3. [env var: ANTA_TAGS]
|
||||
-c, --catalog FILE Path to the test catalog file [env var:
|
||||
|
|
11
docs/snippets/anta_nrfu_json_help.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
$ anta nrfu json --help
|
||||
Usage: anta nrfu json [OPTIONS]
|
||||
|
||||
ANTA command to check network state with JSON results.
|
||||
|
||||
If no `--output` is specified, the output is printed to stdout.
|
||||
|
||||
Options:
|
||||
-o, --output FILE Path to save report as a JSON file [env var:
|
||||
ANTA_NRFU_JSON_OUTPUT]
|
||||
--help Show this message and exit.
|