lmrc_rabbitmq/lib.rs
1//! # lmrc-rabbitmq
2//!
3//! RabbitMQ management library for the LMRC Stack.
4//!
5//! This library provides comprehensive functionality for managing RabbitMQ installations
6//! on remote servers via SSH, including:
7//!
8//! - Installation and configuration of RabbitMQ server
9//! - User management (create, delete, set tags)
10//! - VHost management (create, delete, list)
11//! - Permission management (set, clear, list)
12//! - Plugin management (enable, disable, list)
13//! - Service control (start, stop, restart, status)
14//!
15//! ## Example
16//!
17//! ```rust,no_run
18//! use lmrc_rabbitmq::{RabbitMqManager, RabbitMqConfig};
19//!
20//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
21//! let config = RabbitMqConfig::builder()
22//! .version("latest")
23//! .admin_user("admin")
24//! .admin_password("secure_password")
25//! .enable_management(true)
26//! .build();
27//!
28//! let manager = RabbitMqManager::new("192.168.1.10")
29//! .with_port(22)
30//! .with_user("root");
31//!
32//! manager.install(&config)?;
33//!
34//! let connection_string = manager.connection_string("admin", "secure_password", "/", 5672);
35//! println!("Connection string: {}", connection_string);
36//! # Ok(())
37//! # }
38//! ```
39
40pub mod config;
41pub mod error;
42pub mod manager;
43pub mod operations;
44
45// Re-exports
46pub use config::{
47 RabbitMqConfig, RabbitMqConfigBuilder, RabbitMqPermission, RabbitMqUser, RabbitMqVHost,
48};
49pub use error::{RabbitMqError, Result};
50pub use manager::RabbitMqManager;
51pub use operations::{
52 PermissionOperations, PluginOperations, ServiceOperations, UserOperations, VHostOperations,
53};