use crate::framework::response::ApiResult;
use serde::Deserialize;
pub mod delete;
pub mod get;
pub mod patch;
pub mod post;
pub mod put;
pub use delete::{DynoAllRestart, DynoRestart};
pub use get::{DynoDetails, DynoList, DynoSizeDetails, DynoSizeList};
pub use post::{DynoActionStop, DynoCreate, DynoCreateParams};
impl ApiResult for Dyno {}
impl ApiResult for Vec<Dyno> {}
impl ApiResult for DynoSize {}
impl ApiResult for Vec<DynoSize> {}
pub use dyno_size::DynoSize;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Dyno {
pub app: App,
pub attach_url: Option<String>,
pub command: String,
pub created_at: String,
pub id: String,
pub name: String,
pub release: Release,
pub size: String,
pub state: String,
pub r#type: String, pub updated_at: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub id: String,
pub name: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Release {
pub id: String,
pub version: i64,
}
mod dyno_size {
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct DynoSize {
pub compute: i64,
pub cost: Option<Cost>,
pub dedicated: bool,
pub dyno_units: i64,
pub id: String,
pub memory: f64,
pub name: String,
pub private_space_only: bool,
}
#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct Cost {
pub cents: Option<i64>,
pub unit: Option<String>,
}
}