pub struct SystemInfo {
pub platform: String,
pub architecture: String,
pub ansible_version: String,
pub playbook_available: bool,
pub vault_available: bool,
pub config_available: bool,
pub inventory_available: bool,
}
Expand description
Comprehensive system information and feature availability.
The SystemInfo
struct provides detailed information about the current
system, including platform details, Ansible version, and availability
of various Ansible components.
§Examples
§Getting System Information
use ansible::get_system_info;
let system_info = get_system_info()?;
println!("{}", system_info);
if system_info.is_fully_supported() {
println!("All Ansible features are available!");
} else {
println!("Missing features: {:?}", system_info.missing_features());
}
§Feature Checking
use ansible::get_system_info;
let system_info = get_system_info()?;
for (feature, available) in system_info.feature_summary() {
let status = if available { "✅" } else { "❌" };
println!("{} {}", status, feature);
}
Fields§
§platform: String
Operating system name (e.g., “linux”, “macos”)
architecture: String
System architecture (e.g., “x86_64”, “aarch64”)
ansible_version: String
Ansible version string (empty if not installed)
playbook_available: bool
Whether ansible-playbook is available
vault_available: bool
Whether ansible-vault is available
config_available: bool
Whether ansible-config is available
inventory_available: bool
Whether ansible-inventory is available
Implementations§
Source§impl SystemInfo
impl SystemInfo
Sourcepub fn is_fully_supported(&self) -> bool
pub fn is_fully_supported(&self) -> bool
Check if all required components are available
Sourcepub fn feature_summary(&self) -> Vec<(String, bool)>
pub fn feature_summary(&self) -> Vec<(String, bool)>
Get a summary of available features
Sourcepub fn missing_features(&self) -> Vec<String>
pub fn missing_features(&self) -> Vec<String>
Get missing features
Trait Implementations§
Source§impl Clone for SystemInfo
impl Clone for SystemInfo
Source§fn clone(&self) -> SystemInfo
fn clone(&self) -> SystemInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SystemInfo
impl Debug for SystemInfo
Auto Trait Implementations§
impl Freeze for SystemInfo
impl RefUnwindSafe for SystemInfo
impl Send for SystemInfo
impl Sync for SystemInfo
impl Unpin for SystemInfo
impl UnwindSafe for SystemInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more