pub struct AnsibleConfig { /* private fields */ }Expand description
Ansible configuration management utility.
The AnsibleConfig struct provides a comprehensive interface for querying
and managing Ansible configuration settings. It supports listing, dumping,
viewing, initializing, and validating configuration files.
§Examples
§Basic Configuration Queries
use ansible::AnsibleConfig;
let mut config = AnsibleConfig::new();
// List all configuration options
let config_list = config.list()?;
println!("Configuration: {}", config_list);
// Dump current configuration
let config_dump = config.dump()?;
println!("Config dump: {}", config_dump);§Formatted Output
use ansible::{AnsibleConfig, ConfigFormat};
let mut config = AnsibleConfig::new();
config.set_format(ConfigFormat::Json);
// Get configuration in JSON format
let json_config = config.dump()?;
println!("JSON config: {}", json_config);§Plugin-Specific Configuration
use ansible::{AnsibleConfig, PluginType};
let mut config = AnsibleConfig::new();
config.set_plugin_type(PluginType::Callback);
// List only callback plugin configuration
let callback_config = config.list()?;
println!("Callback plugins: {}", callback_config);§Configuration File Management
use ansible::AnsibleConfig;
let mut config = AnsibleConfig::new();
// Initialize a new configuration file
config.init()?;
// Validate existing configuration
config.validate()?;
// View specific configuration file
config.set_config_file("custom.cfg");
let content = config.view()?;Implementations§
Source§impl AnsibleConfig
impl AnsibleConfig
Sourcepub fn set_config_file(&mut self, file_path: impl Into<String>) -> &mut Self
pub fn set_config_file(&mut self, file_path: impl Into<String>) -> &mut Self
Set the configuration file path
Sourcepub fn set_format(&mut self, format: ConfigFormat) -> &mut Self
pub fn set_format(&mut self, format: ConfigFormat) -> &mut Self
Set the output format for configuration commands.
This method sets the format for configuration output.
§Examples
use ansible::{AnsibleConfig, ConfigFormat};
let mut config = AnsibleConfig::new();
config.set_format(ConfigFormat::Json);Sourcepub fn set_plugin_type(&mut self, plugin_type: PluginType) -> &mut Self
pub fn set_plugin_type(&mut self, plugin_type: PluginType) -> &mut Self
Set the plugin type filter.
This method filters configuration to a specific plugin type.
§Examples
use ansible::{AnsibleConfig, PluginType};
let mut config = AnsibleConfig::new();
config.set_plugin_type(PluginType::Callback);Sourcepub fn set_system_envs(&mut self) -> &mut Self
pub fn set_system_envs(&mut self) -> &mut Self
Set environment variables from the system
Sourcepub fn add_env(
&mut self,
key: impl Into<String>,
value: impl Into<String>,
) -> &mut Self
pub fn add_env( &mut self, key: impl Into<String>, value: impl Into<String>, ) -> &mut Self
Add an environment variable
Sourcepub fn list_with_format(&self, format: ConfigFormat) -> Result<String>
pub fn list_with_format(&self, format: ConfigFormat) -> Result<String>
List configuration options with specific format
Sourcepub fn dump_with_format(&self, format: ConfigFormat) -> Result<String>
pub fn dump_with_format(&self, format: ConfigFormat) -> Result<String>
Show current configuration settings with specific format
Sourcepub fn dump_changed_only(&self) -> Result<String>
pub fn dump_changed_only(&self) -> Result<String>
Show only changed configuration settings
Sourcepub fn init_with_format(&self, format: ConfigFormat) -> Result<String>
pub fn init_with_format(&self, format: ConfigFormat) -> Result<String>
Initialize a new configuration file with specific format
Sourcepub fn init_disabled(&self) -> Result<String>
pub fn init_disabled(&self) -> Result<String>
Initialize a configuration file with all options disabled (commented out)
Sourcepub fn validate_with_format(&self, format: ConfigFormat) -> Result<String>
pub fn validate_with_format(&self, format: ConfigFormat) -> Result<String>
Validate the configuration file with specific format
Sourcepub fn get_config(&self) -> &CommandConfig
pub fn get_config(&self) -> &CommandConfig
Get a reference to the command configuration (for testing)
Trait Implementations§
Source§impl Clone for AnsibleConfig
impl Clone for AnsibleConfig
Source§fn clone(&self) -> AnsibleConfig
fn clone(&self) -> AnsibleConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more