use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Code {
#[serde(rename = "InvalidInput")]
InvalidInput,
#[serde(rename = "InvalidTimeSlotId")]
InvalidTimeSlotId,
#[serde(rename = "ScheduledPackageAlreadyExists")]
ScheduledPackageAlreadyExists,
#[serde(rename = "ScheduleWindowExpired")]
ScheduleWindowExpired,
#[serde(rename = "RetryableAfterGettingNewSlots")]
RetryableAfterGettingNewSlots,
#[serde(rename = "TimeSlotNotAvailable")]
TimeSlotNotAvailable,
#[serde(rename = "ResourceNotFound")]
ResourceNotFound,
#[serde(rename = "InvalidOrderState")]
InvalidOrderState,
#[serde(rename = "RegionNotSupported")]
RegionNotSupported,
#[serde(rename = "OrderNotEligibleForRescheduling")]
OrderNotEligibleForRescheduling,
#[serde(rename = "InternalServerError")]
InternalServerError,
}
impl std::fmt::Display for Code {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::InvalidInput => write!(f, "InvalidInput"),
Self::InvalidTimeSlotId => write!(f, "InvalidTimeSlotId"),
Self::ScheduledPackageAlreadyExists => write!(f, "ScheduledPackageAlreadyExists"),
Self::ScheduleWindowExpired => write!(f, "ScheduleWindowExpired"),
Self::RetryableAfterGettingNewSlots => write!(f, "RetryableAfterGettingNewSlots"),
Self::TimeSlotNotAvailable => write!(f, "TimeSlotNotAvailable"),
Self::ResourceNotFound => write!(f, "ResourceNotFound"),
Self::InvalidOrderState => write!(f, "InvalidOrderState"),
Self::RegionNotSupported => write!(f, "RegionNotSupported"),
Self::OrderNotEligibleForRescheduling => write!(f, "OrderNotEligibleForRescheduling"),
Self::InternalServerError => write!(f, "InternalServerError"),
}
}
}
impl Default for Code {
fn default() -> Code {
Self::InvalidInput
}
}