reflex/lifecycle/
factory.rs

1use std::sync::Arc;
2
3use super::cloud::{CloudOps, GcpCloudOps, LocalCloudOps};
4use super::config::{CloudProviderType, LifecycleConfig};
5
6/// Builds the appropriate [`CloudOps`] implementation for the config.
7pub async fn build_cloud_ops(config: &LifecycleConfig) -> Arc<dyn CloudOps> {
8    match config.cloud_provider {
9        CloudProviderType::Gcp => Arc::new(GcpCloudOps::new()),
10        CloudProviderType::Local => Arc::new(LocalCloudOps::new()),
11    }
12}