mirror of
https://github.com/jlengrand/engine.git
synced 2026-03-10 08:11:21 +00:00
Merge branch 'dev' into refactor/extract-state-out-of-engine-event
This commit is contained in:
@@ -4,15 +4,24 @@ use core::fmt;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::str::FromStr;
|
||||
|
||||
// flavors helper: https://pcr.cloud-mercato.com/providers/flavors?provider=digitalocean
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
pub enum DoInstancesType {
|
||||
S1vcpu1gb,
|
||||
S1vcpu2gb,
|
||||
S1vcpu3gb,
|
||||
S2vcpu2gb,
|
||||
S2vcpu4gb,
|
||||
S3vcpu1gb,
|
||||
S4vcpu8gb,
|
||||
S6vcpu16gb,
|
||||
S8vcpu16gb,
|
||||
S8vcpu32gb,
|
||||
S12vcpu48gb,
|
||||
S16vcpu64gb,
|
||||
S20vcpu96gb,
|
||||
S24vcpu128gb,
|
||||
S32vcpu192gb,
|
||||
}
|
||||
|
||||
impl InstanceType for DoInstancesType {
|
||||
@@ -21,10 +30,18 @@ impl InstanceType for DoInstancesType {
|
||||
DoInstancesType::S1vcpu1gb => "s-1vcpu-1gb",
|
||||
DoInstancesType::S1vcpu2gb => "s-1vcpu-2gb",
|
||||
DoInstancesType::S1vcpu3gb => "s-1vcpu-3gb",
|
||||
DoInstancesType::S2vcpu2gb => "s-2vcpu-2gb",
|
||||
DoInstancesType::S3vcpu1gb => "s-3vcpu-1gb",
|
||||
DoInstancesType::S2vcpu4gb => "s-2vcpu-4gb",
|
||||
DoInstancesType::S4vcpu8gb => "s-4vcpu-8gb",
|
||||
DoInstancesType::S6vcpu16gb => "s-6vcpu-16gb",
|
||||
DoInstancesType::S8vcpu16gb => "s-8vcpu-16gb",
|
||||
DoInstancesType::S8vcpu32gb => "s-8vcpu-32gb",
|
||||
DoInstancesType::S12vcpu48gb => "s-12vcpu-48gb",
|
||||
DoInstancesType::S16vcpu64gb => "s-16vcpu-64gb",
|
||||
DoInstancesType::S20vcpu96gb => "s-20vcpu-96gb",
|
||||
DoInstancesType::S24vcpu128gb => "s-24vcpu-128gb",
|
||||
DoInstancesType::S32vcpu192gb => "s-32vcpu-192gb",
|
||||
}
|
||||
.to_string()
|
||||
}
|
||||
@@ -36,10 +53,18 @@ impl DoInstancesType {
|
||||
DoInstancesType::S1vcpu1gb => "s-1vcpu-1gb",
|
||||
DoInstancesType::S1vcpu2gb => "s-1vcpu-2gb",
|
||||
DoInstancesType::S1vcpu3gb => "s-1vcpu-3gb",
|
||||
DoInstancesType::S2vcpu2gb => "s-2vcpu-2gb",
|
||||
DoInstancesType::S2vcpu4gb => "s-2vcpu-4gb",
|
||||
DoInstancesType::S3vcpu1gb => "s-3vcpu-1gb",
|
||||
DoInstancesType::S4vcpu8gb => "s-4vcpu-8gb",
|
||||
DoInstancesType::S6vcpu16gb => "s-6vcpu-16gb",
|
||||
DoInstancesType::S8vcpu16gb => "s-8vcpu-16gb",
|
||||
DoInstancesType::S8vcpu32gb => "s-8vcpu-32gb",
|
||||
DoInstancesType::S12vcpu48gb => "s-12vcpu-48gb",
|
||||
DoInstancesType::S16vcpu64gb => "s-16vcpu-64gb",
|
||||
DoInstancesType::S20vcpu96gb => "s-20vcpu-96gb",
|
||||
DoInstancesType::S24vcpu128gb => "s-24vcpu-128gb",
|
||||
DoInstancesType::S32vcpu192gb => "s-32vcpu-192gb",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,10 +75,18 @@ impl fmt::Display for DoInstancesType {
|
||||
DoInstancesType::S1vcpu1gb => write!(f, "s-1vcpu-1gb"),
|
||||
DoInstancesType::S1vcpu2gb => write!(f, "s-1vcpu-2gb"),
|
||||
DoInstancesType::S1vcpu3gb => write!(f, "s-1vcpu-3gb"),
|
||||
DoInstancesType::S2vcpu2gb => write!(f, "s-2vcpu-2gb"),
|
||||
DoInstancesType::S2vcpu4gb => write!(f, "s-2vcpu-4gb"),
|
||||
DoInstancesType::S3vcpu1gb => write!(f, "s-3vcpu-1gb"),
|
||||
DoInstancesType::S4vcpu8gb => write!(f, "s-4vcpu-8gb"),
|
||||
DoInstancesType::S6vcpu16gb => write!(f, "s-6vcpu-16gb"),
|
||||
DoInstancesType::S8vcpu16gb => write!(f, "s-8vcpu-16gb"),
|
||||
DoInstancesType::S8vcpu32gb => write!(f, "s-8vcpu-32gb"),
|
||||
DoInstancesType::S12vcpu48gb => write!(f, "s-12vcpu-48gb"),
|
||||
DoInstancesType::S16vcpu64gb => write!(f, "s-16vcpu-64gb"),
|
||||
DoInstancesType::S20vcpu96gb => write!(f, "s-20vcpu-96gb"),
|
||||
DoInstancesType::S24vcpu128gb => write!(f, "s-24vcpu-128gb"),
|
||||
DoInstancesType::S32vcpu192gb => write!(f, "s-32vcpu-192gb"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,10 +99,18 @@ impl FromStr for DoInstancesType {
|
||||
"s-1vcpu-1gb" => Ok(DoInstancesType::S1vcpu1gb),
|
||||
"s-1vcpu-2gb" => Ok(DoInstancesType::S1vcpu2gb),
|
||||
"s-1vcpu-3gb" => Ok(DoInstancesType::S1vcpu3gb),
|
||||
"s-2vcpu-2gb" => Ok(DoInstancesType::S2vcpu2gb),
|
||||
"s-2vcpu-4gb" => Ok(DoInstancesType::S2vcpu4gb),
|
||||
"s-3vcpu-1gb" => Ok(DoInstancesType::S3vcpu1gb),
|
||||
"s-4vcpu-8gb" => Ok(DoInstancesType::S4vcpu8gb),
|
||||
"s-6vcpu-16gb" => Ok(DoInstancesType::S6vcpu16gb),
|
||||
"s-8vcpu-16gb" => Ok(DoInstancesType::S8vcpu16gb),
|
||||
"s-8vcpu-32gb" => Ok(DoInstancesType::S8vcpu32gb),
|
||||
"s-12vcpu-48gb" => Ok(DoInstancesType::S12vcpu48gb),
|
||||
"s-16vcpu-64gb" => Ok(DoInstancesType::S16vcpu64gb),
|
||||
"s-20vcpu-96gb" => Ok(DoInstancesType::S20vcpu96gb),
|
||||
"s-24vcpu-128gb" => Ok(DoInstancesType::S24vcpu128gb),
|
||||
"s-32vcpu-192gb" => Ok(DoInstancesType::S32vcpu192gb),
|
||||
_ => {
|
||||
let message = format!("`{}` instance type is not supported", s);
|
||||
return Err(CommandError::new(message.clone(), Some(message)));
|
||||
|
||||
Reference in New Issue
Block a user