Home
AVD CLIΒΆ
A command-line interface for processing Arista AVD inventories and generating configurations, documentation, and tests.
Personal Project Notice
This project (avd-cli) is a personal project and is not an official development of the Arista AVD team or Arista Networks.
It is maintained independently and is not endorsed, supported, or affiliated with Arista Networks, Inc.
For official AVD tools and support, please visit avd.arista.com.
What it doesΒΆ
- Generate configurations from AVD inventory files
- Create documentation automatically
- Deploy configurations to EOS devices via eAPI
- Validate inventory structure and data
- Output ANTA tests for network validation
Quick StartΒΆ
- Generate configurations, documentations and tests of the fabric.
# Install avd-cli
pipx install adv-cli
# Generate all outputs (configs, docs, tests)
avd-cli generate all \
--inventory-path ./inventory \
--output-path ./output \
--workflow eos-design
β Loading inventory...
β Loaded 10 devices
β Generating configurations, documentation, and tests...
β Generation complete!
Generated Files
ββββββββββββββββββ³ββββββββ³βββββββββββββββββββββββββββββββββ
β Category β Count β Output Path β
β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ©
β Configurations β 10 β ./output/configs β
β Documentation β 10 β ./output/documentation β
β Tests β 1 β ./output/tests β
ββββββββββββββββββ΄ββββββββ΄βββββββββββββββββββββββββββββββββ
- Deploy configurations to EOS devices using eAPI
# Deploy configurations to EOS devices
avd-cli deploy eos --inventory-path ./inventory --dry-run --diff
β Loading inventory...
β Loaded 10 devices
Deployment Plan (dry-run)
Mode: replace
Targets: 10 devices
Concurrency: 10 devices
β Ό Deploying to 10 devices...
Deployment Status
βββββββββββββ³ββββββββββ³βββββββββββ³βββββββββββββ³ββββββββ
β Hostname β Status β Duration β Diff (+/-) β Error β
β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββ©
β spine-1 β success β 2.34s β +15 / -3 β β
β spine-2 β success β 1.89s β +45 / -10 β β
β leaf-1 β success β 3.12s β +12 / -2 β β
β ... β ... β ... β ... β β
βββββββββββββ΄ββββββββββ΄βββββββββββ΄βββββββββββββ΄ββββββββ
π‘ Advanced FeaturesΒΆ
- Inventory advanced features: In-depth guide to templating, inheritance, and overrides in AVD inventories (Inventory advanced features)
- Jinja2 Template Support: Full support for Jinja2 variables and expressions in inventory files
- Variable Inheritance: Sophisticated variable inheritance across inventory hierarchy
- Flexible Variable Organization: Support for both files and directories in group_vars/host_vars
- Environment Variables: All CLI options support
AVD_CLI_*environment variables - Rich Terminal Output: Beautiful and informative CLI experience with color-coded messages
π DocumentationΒΆ
-
Getting Started
Installation, quick start guide, and basic usage examples
-
User Guide
Comprehensive guide covering all commands, inventory structure, and advanced features
-
API Reference
Detailed API documentation for all modules and functions
-
FAQ
Frequently asked questions and troubleshooting tips
π€ ContributingΒΆ
Contributions are welcome! Check out our Contributing Guide for:
- Development environment setup
- Running tests and quality checks
- Code style guidelines
- Pull request process
π LicenseΒΆ
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
π AcknowledgmentsΒΆ
- Arista Networks for AVD
- Click for the CLI framework
- Rich for beautiful terminal output
- pytest for testing framework