Adding upstream version 0.13.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c0ae77e0f6
commit
ecf5ca3300
272 changed files with 33172 additions and 0 deletions
237
docs/cli/get-inventory-information.md
Normal file
237
docs/cli/get-inventory-information.md
Normal file
|
@ -0,0 +1,237 @@
|
|||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
# Retrieving Inventory Information
|
||||
|
||||
The ANTA CLI offers multiple entrypoints to access data from your local inventory.
|
||||
|
||||
## Inventory used of examples
|
||||
|
||||
Let's consider the following inventory:
|
||||
|
||||
```yaml
|
||||
---
|
||||
anta_inventory:
|
||||
hosts:
|
||||
- host: 172.20.20.101
|
||||
name: DC1-SPINE1
|
||||
tags: ["SPINE", "DC1"]
|
||||
|
||||
- host: 172.20.20.102
|
||||
name: DC1-SPINE2
|
||||
tags: ["SPINE", "DC1"]
|
||||
|
||||
- host: 172.20.20.111
|
||||
name: DC1-LEAF1A
|
||||
tags: ["LEAF", "DC1"]
|
||||
|
||||
- host: 172.20.20.112
|
||||
name: DC1-LEAF1B
|
||||
tags: ["LEAF", "DC1"]
|
||||
|
||||
- host: 172.20.20.121
|
||||
name: DC1-BL1
|
||||
tags: ["BL", "DC1"]
|
||||
|
||||
- host: 172.20.20.122
|
||||
name: DC1-BL2
|
||||
tags: ["BL", "DC1"]
|
||||
|
||||
- host: 172.20.20.201
|
||||
name: DC2-SPINE1
|
||||
tags: ["SPINE", "DC2"]
|
||||
|
||||
- host: 172.20.20.202
|
||||
name: DC2-SPINE2
|
||||
tags: ["SPINE", "DC2"]
|
||||
|
||||
- host: 172.20.20.211
|
||||
name: DC2-LEAF1A
|
||||
tags: ["LEAF", "DC2"]
|
||||
|
||||
- host: 172.20.20.212
|
||||
name: DC2-LEAF1B
|
||||
tags: ["LEAF", "DC2"]
|
||||
|
||||
- host: 172.20.20.221
|
||||
name: DC2-BL1
|
||||
tags: ["BL", "DC2"]
|
||||
|
||||
- host: 172.20.20.222
|
||||
name: DC2-BL2
|
||||
tags: ["BL", "DC2"]
|
||||
```
|
||||
|
||||
## Obtaining all configured tags
|
||||
|
||||
As most of ANTA's commands accommodate tag filtering, this particular command is useful for enumerating all tags configured in the inventory. Running the `anta get tags` command will return a list of all tags that have been configured in the inventory.
|
||||
|
||||
### Command overview
|
||||
|
||||
```bash
|
||||
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 INTEGER Global connection timeout [env var: ANTA_TIMEOUT;
|
||||
default: 30]
|
||||
--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]
|
||||
-t, --tags TEXT List of tags using comma as separator:
|
||||
tag1,tag2,tag3 [env var: ANTA_TAGS]
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
To get the list of all configured tags in the inventory, run the following command:
|
||||
|
||||
```bash
|
||||
anta get tags
|
||||
Tags found:
|
||||
[
|
||||
"BL",
|
||||
"DC1",
|
||||
"DC2",
|
||||
"LEAF",
|
||||
"SPINE"
|
||||
]
|
||||
|
||||
* note that tag all has been added by anta
|
||||
```
|
||||
|
||||
!!! note
|
||||
Even if you haven't explicitly configured the `all` tag in the inventory, it is automatically added. This default tag allows to execute commands on all devices in the inventory when no tag is specified.
|
||||
|
||||
## 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. The `--connected` option allows to display only the devices where a connection has been established.
|
||||
|
||||
### Command overview
|
||||
|
||||
```bash
|
||||
anta get inventory --help
|
||||
Usage: anta get inventory [OPTIONS]
|
||||
|
||||
Show inventory loaded in ANTA.
|
||||
|
||||
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 INTEGER Global connection timeout [env var:
|
||||
ANTA_TIMEOUT; default: 30]
|
||||
--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]
|
||||
-t, --tags TEXT List of tags using comma as separator:
|
||||
tag1,tag2,tag3 [env var: ANTA_TAGS]
|
||||
--connected / --not-connected Display inventory after connection has been
|
||||
created
|
||||
--help Show this message and exit.
|
||||
```
|
||||
|
||||
|
||||
!!! tip
|
||||
In its default mode, `anta get inventory` provides only information that doesn't rely on a device connection. If you are interested in obtaining connection-dependent details, like the hardware model, please use the `--connected` option.
|
||||
|
||||
### Example
|
||||
|
||||
To retrieve a comprehensive list of all devices along with their details, execute the following command. It will provide all the data loaded into the ANTA inventory from your [inventory file](../usage-inventory-catalog.md).
|
||||
|
||||
```bash
|
||||
anta get inventory --tags SPINE
|
||||
Current inventory content is:
|
||||
{
|
||||
'DC1-SPINE1': AsyncEOSDevice(
|
||||
name='DC1-SPINE1',
|
||||
tags=['SPINE', 'DC1'],
|
||||
hw_model=None,
|
||||
is_online=False,
|
||||
established=False,
|
||||
disable_cache=False,
|
||||
host='172.20.20.101',
|
||||
eapi_port=443,
|
||||
username='arista',
|
||||
enable=True,
|
||||
enable_password='arista',
|
||||
insecure=False
|
||||
),
|
||||
'DC1-SPINE2': AsyncEOSDevice(
|
||||
name='DC1-SPINE2',
|
||||
tags=['SPINE', 'DC1'],
|
||||
hw_model=None,
|
||||
is_online=False,
|
||||
established=False,
|
||||
disable_cache=False,
|
||||
host='172.20.20.102',
|
||||
eapi_port=443,
|
||||
username='arista',
|
||||
enable=True,
|
||||
insecure=False
|
||||
),
|
||||
'DC2-SPINE1': AsyncEOSDevice(
|
||||
name='DC2-SPINE1',
|
||||
tags=['SPINE', 'DC2'],
|
||||
hw_model=None,
|
||||
is_online=False,
|
||||
established=False,
|
||||
disable_cache=False,
|
||||
host='172.20.20.201',
|
||||
eapi_port=443,
|
||||
username='arista',
|
||||
enable=True,
|
||||
insecure=False
|
||||
),
|
||||
'DC2-SPINE2': AsyncEOSDevice(
|
||||
name='DC2-SPINE2',
|
||||
tags=['SPINE', 'DC2'],
|
||||
hw_model=None,
|
||||
is_online=False,
|
||||
established=False,
|
||||
disable_cache=False,
|
||||
host='172.20.20.202',
|
||||
eapi_port=443,
|
||||
username='arista',
|
||||
enable=True,
|
||||
insecure=False
|
||||
)
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue