ash_api 0.1.7

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
Documentation
/*
 * Hai (Ash API) specifications.
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 0.1.7
 * Contact: E36 Knots
 * Generated by: https://openapi-generator.tech
 */




#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Resource {
    /// Resource ID
    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
    pub id: Option<uuid::Uuid>,
    /// ID of the user who owns the resource
    #[serde(rename = "ownerId", skip_serializing_if = "Option::is_none")]
    pub owner_id: Option<uuid::Uuid>,
    /// ID of the project that the cloud region belongs to
    #[serde(rename = "projectId", skip_serializing_if = "Option::is_none")]
    pub project_id: Option<uuid::Uuid>,
    /// ID (or name) of the cloud region that the resource belongs to
    #[serde(rename = "cloudRegionId", skip_serializing_if = "Option::is_none")]
    pub cloud_region_id: Option<String>,
    /// Resource name
    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    /// Resource type
    #[serde(rename = "resourceType", skip_serializing_if = "Option::is_none")]
    pub resource_type: Option<ResourceType>,
    /// Resource size
    #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
    pub size: Option<Size>,
    /// Resource status
    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
    pub status: Option<Status>,
    /// Date/time when the project was created
    #[serde(rename = "created", skip_serializing_if = "Option::is_none")]
    pub created: Option<String>,
}

impl Resource {
    pub fn new() -> Resource {
        Resource {
            id: None,
            owner_id: None,
            project_id: None,
            cloud_region_id: None,
            name: None,
            resource_type: None,
            size: None,
            status: None,
            created: None,
        }
    }
}

/// Resource type
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ResourceType {
    #[serde(rename = "avalancheNode")]
    AvalancheNode,
    #[serde(rename = "avalancheSubnet")]
    AvalancheSubnet,
    #[serde(rename = "blockscout")]
    Blockscout,
}

impl Default for ResourceType {
    fn default() -> ResourceType {
        Self::AvalancheNode
    }
}
/// Resource size
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Size {
    #[serde(rename = "small")]
    Small,
    #[serde(rename = "medium")]
    Medium,
    #[serde(rename = "large")]
    Large,
}

impl Default for Size {
    fn default() -> Size {
        Self::Small
    }
}
/// Resource status
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
    #[serde(rename = "pending")]
    Pending,
    #[serde(rename = "running")]
    Running,
    #[serde(rename = "configuring")]
    Configuring,
    #[serde(rename = "stopped")]
    Stopped,
    #[serde(rename = "error")]
    Error,
    #[serde(rename = "destroying")]
    Destroying,
}

impl Default for Status {
    fn default() -> Status {
        Self::Pending
    }
}