#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CloudRegion {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<uuid::Uuid>,
#[serde(rename = "ownerId", skip_serializing_if = "Option::is_none")]
pub owner_id: Option<uuid::Uuid>,
#[serde(rename = "projectId", skip_serializing_if = "Option::is_none")]
pub project_id: Option<String>,
#[serde(rename = "cloudProvider", skip_serializing_if = "Option::is_none")]
pub cloud_provider: Option<CloudProvider>,
#[serde(rename = "region", skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "cloudCredentialsSecretId", skip_serializing_if = "Option::is_none")]
pub cloud_credentials_secret_id: Option<String>,
#[serde(rename = "created", skip_serializing_if = "Option::is_none")]
pub created: Option<String>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
}
impl CloudRegion {
pub fn new() -> CloudRegion {
CloudRegion {
id: None,
owner_id: None,
project_id: None,
cloud_provider: None,
region: None,
name: None,
cloud_credentials_secret_id: None,
created: None,
status: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum CloudProvider {
#[serde(rename = "aws")]
Aws,
#[serde(rename = "azure")]
Azure,
#[serde(rename = "google")]
Google,
#[serde(rename = "localhost")]
Localhost,
}
impl Default for CloudProvider {
fn default() -> CloudProvider {
Self::Aws
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "available")]
Available,
#[serde(rename = "destroying")]
Destroying,
#[serde(rename = "suspended")]
Suspended,
}
impl Default for Status {
fn default() -> Status {
Self::Available
}
}