Inventory export

Generate an Ansible or Netmiko inventory from a project. The command does not run playbooks, open SSH, start nodes, or create OOB files.

canonical project model
        |
        v
inventory-exporters.yaml
        |
        v
generic exporter
        |
        v
tool-specific inventory

common/inventory-exporters.yaml is the source of target-specific behavior. The generator copies fields, fills canonical attributes, and emits the file. Platform names are not compiled into the generator.

Prepare OOB first

eve-iac login
eve-iac oob start ./IaC/sample

Then:

eve-iac inventory targets
eve-iac inventory generate ./IaC/sample --target ansible
eve-iac inventory generate ./IaC/sample --target netmiko
eve-iac inventory generate ./IaC/sample --target ansible --stdout

inventory targets lists the exporters in the registry. generate writes <project>/.eve-iac/inventory/inventory.ansible.yml or inventory.netmiko.yml. --output chooses another file. --stdout prints the inventory for a pipeline and does not write a file.

If ssh_config is missing, generate stops. It does not log in and it does not start OOB. Prepare OOB, then run generate again.

What the inventory contains

Each host is the OOB SSH alias (iol1), not a second copy of ProxyCommand. The inventory points at:

<project>/.eve-iac/oob/ssh_config

eve-oob is the OOB SSH user. It is not the agent password and not the username configured on the emulated device. Generated files do not include session_token or the OOB private key.

Ansible receives ansible_ssh_common_args: -F <ssh_config> and ansible_paramiko_proxy_command set to the ProxyCommand of the SDK that generated the inventory. The CLI uses the Python proxy. Generate Inventory, in the IDE Automation section, uses the extension proxy, the same executable as Prepare OOB SSH. Netmiko receives ssh_config_file and host set to the same alias.

Every node is a host. The EVE template automation_profile selects ansible_network_os. That map is automation-profiles.yaml, shipped with the exporter, so vjunosrouter stays junos inside the IDE. A template without a profile uses generic, which is ansible.netcommon.default. Cisco IOL also receives the autoinstall carriage return. Netmiko uses terminal_server for every host, because OOB is the console.

Hosts are ordered by canonical node key (n_1, n_2, n_10).