1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
mod dev; mod environment; mod kv_namespace; mod manifest; mod route; mod site; mod target; mod target_type; mod triggers; use serde::{Deserialize, Serialize}; use std::str::FromStr; pub use environment::Environment; pub use kv_namespace::{ConfigKvNamespace, KvNamespace}; pub use manifest::Manifest; pub use route::{Route, RouteConfig}; pub use site::Site; pub use target::Target; pub use target_type::TargetType; #[derive(Serialize, Deserialize, Clone, Copy, Debug, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum UsageModel { Bundled, Unbound, } impl FromStr for UsageModel { type Err = failure::Error; fn from_str(s: &str) -> Result<Self, Self::Err> { match s { "bundled" => Ok(UsageModel::Bundled), "unbound" => Ok(UsageModel::Unbound), _ => failure::bail!("Invalid usage model; must be either \"bundled\" or \"unbound\""), } } } impl AsRef<str> for UsageModel { fn as_ref(&self) -> &str { match self { UsageModel::Bundled => "bundled", UsageModel::Unbound => "unbound", } } } #[cfg(test)] mod tests;