ansible 0.2.0

Rust API for Ansible
Documentation

ansible

Rust API for Ansible

Progress Tracker

  • Ansible inventory command
  • Load trait for inventory to json
  • API to get hosts from inventory
  • API to get vars for host
  • Add Ansible test data to repo for use in test suite
  • Official Rust docs
  • Ansible adhoc command
  • Ansible playbook command

Features

  • Load Ansible inventory data into serde json object
use ansible::{Inventory, Load};

let inventory = Inventory::load(PathBuf::from('/path/to/inventory'))?;
let data = inventory.data
  • Get specific host from Ansible inventory
use ansible::{Inventory, Load};

let inventory = Inventory::load(PathBuf::from('/path/to/inventory'))?;
let host = inventory.get_host("<hostname>")?;
hostvars = host.get_vars()?;
  • Get all hosts from Ansible inventory
use ansible::{Inventory, Load};

let inventory = Inventory::load(PathBuf::from('/path/to/inventory'))?;
let hosts = inventory.get_hosts()?;
for host in hosts {
    hostvars = host.get_vars()?;
}

Tests

  • Execute tests with cargo test -- --nocapture to see stdout