Merge branch 'dev' into refactor/extract-state-out-of-engine-event

This commit is contained in:
Benjamin
2022-02-16 00:26:55 +01:00
committed by GitHub

View File

@@ -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)));