Skip to main content

voirs_cli/cloud/
mod.rs

1//! Cloud integration and distributed processing for VoiRS.
2//!
3//! This module provides cloud-based functionality for VoiRS CLI, enabling
4//! distributed synthesis, model synchronization, and collaborative workflows.
5//! It supports various cloud storage providers and distributed processing
6//! architectures for scalable text-to-speech synthesis.
7//!
8//! ## Features
9//!
10//! - **Cloud Storage**: Synchronize models, configurations, and audio files
11//! - **Distributed Processing**: Scale synthesis across multiple cloud instances
12//! - **API Integration**: Connect to external TTS and translation services
13//! - **Load Balancing**: Distribute synthesis requests efficiently
14//! - **Collaborative Workflows**: Share voices and configurations across teams
15//!
16//! ## Modules
17//!
18//! - [`api`]: External API integrations and service connections
19//! - [`distributed`]: Distributed processing and load balancing
20//! - [`storage`]: Cloud storage synchronization and backup
21//!
22//! ## Example
23//!
24//! ```rust,no_run
25//! use voirs_cli::cloud::storage::{CloudStorageManager, CloudStorageConfig, SyncDirection};
26//! use std::path::PathBuf;
27//!
28//! # async fn example() -> anyhow::Result<()> {
29//! let config = CloudStorageConfig::default();
30//! let cache_dir = PathBuf::from("/tmp/voirs_cache");
31//! let mut storage = CloudStorageManager::new(config, cache_dir)?;
32//! storage.add_to_sync(
33//!     PathBuf::from("model.bin"),
34//!     "models/model.bin".to_string(),
35//!     SyncDirection::Upload
36//! ).await?;
37//! let _result = storage.sync().await?;
38//! # Ok(())
39//! # }
40//! ```
41
42pub mod api;
43pub mod distributed;
44pub mod storage;
45
46pub use api::*;
47pub use distributed::*;
48pub use storage::*;