#[cfg(feature = "apps")]
pub mod apps;
#[cfg(feature = "machines")]
pub mod machines;
#[cfg(feature = "secrets")]
pub mod secrets;
#[cfg(feature = "volumes")]
pub mod volumes;
use reqwest::Client;
const API_BASE_URL: &str = "https://api.machines.dev/v1";
pub struct FlyControl {
#[cfg(feature = "apps")]
pub apps: apps::AppManager,
#[cfg(feature = "machines")]
pub machines: machines::MachineManager,
#[cfg(feature = "volumes")]
pub volumes: volumes::VolumeManager,
#[cfg(feature = "secrets")]
pub secrets: secrets::SecretsManager,
}
impl FlyControl {
pub fn new(api_token: String) -> Self {
let client = Client::new();
FlyControl {
#[cfg(feature = "apps")]
apps: apps::AppManager::new(client.clone(), api_token.clone()),
#[cfg(feature = "machines")]
machines: machines::MachineManager::new(client.clone(), api_token.clone()),
#[cfg(feature = "volumes")]
volumes: volumes::VolumeManager::new(client.clone(), api_token.clone()),
#[cfg(feature = "secrets")]
secrets: secrets::SecretsManager::new(client.clone(), api_token.clone()),
}
}
}