use std::path::Path;
use stackless_core::def::StackDef;
use stackless_stripe_projects::ProjectsError;
use stackless_stripe_projects::project;
use stackless_stripe_projects::stripe::{CommandRunner, StripeProjects};
pub async fn project_and_env<R: CommandRunner>(
stripe: &StripeProjects<R>,
def: &StackDef,
definition_dir: &Path,
instance: &str,
spend_cap: Option<(u32, &str)>,
) -> Result<(), ProjectsError> {
project::ensure_project(stripe, def, definition_dir).await?;
project::ensure_environment(stripe, instance).await?;
if let Some((usd, provider)) = spend_cap {
project::set_spend_cap(stripe, usd, provider).await?;
}
Ok(())
}