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}