Skip to content

Get Inventory Information

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:

---
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
anta get tags --help
Usage: anta get tags [OPTIONS]

  Get list of configured tags in user inventory.

Options:
  --help  Show this message and exit.
Example

To get the list of all configured tags in the inventory, run the following command:

anta get tags
Tags found:
[
  "BL",
  "DC1",
  "DC2",
  "LEAF",
  "SPINE",
  "all"
]

* 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
anta get inventory --help
Usage: anta get inventory [OPTIONS]

  Show inventory loaded in ANTA.

Options:
  -t, --tags TEXT                List of tags using comma as separator:
                                 tag1,tag2,tag3
  --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.

anta get inventory --tags SPINE
Current inventory content is:
{
    'DC1-SPINE1': AsyncEOSDevice(
        name='DC1-SPINE1',
        tags=['SPINE', 'DC1', 'all'],
        hw_model=None,
        is_online=False,
        established=False,
        host='172.20.20.101',
        eapi_port=443,
        username='arista',
        password='arista',
        enable_password='arista',
        insecure=False
    ),
    'DC1-SPINE2': AsyncEOSDevice(
        name='DC1-SPINE2',
        tags=['SPINE', 'DC1', 'all'],
        hw_model=None,
        is_online=False,
        established=False,
        host='172.20.20.102',
        eapi_port=443,
        username='arista',
        password='arista',
        enable_password='arista',
        insecure=False
    ),
    'DC2-SPINE1': AsyncEOSDevice(
        name='DC2-SPINE1',
        tags=['SPINE', 'DC2', 'all'],
        hw_model=None,
        is_online=False,
        established=False,
        host='172.20.20.201',
        eapi_port=443,
        username='arista',
        password='arista',
        enable_password='arista',
        insecure=False
    ),
    'DC2-SPINE2': AsyncEOSDevice(
        name='DC2-SPINE2',
        tags=['SPINE', 'DC2', 'all'],
        hw_model=None,
        is_online=False,
        established=False,
        host='172.20.20.202',
        eapi_port=443,
        username='arista',
        password='arista',
        enable_password='arista',
        insecure=False
    )
}

Last update: July 19, 2023