amazon-spapi 2.0.3

A Rust client library for Amazon Selling Partner API (SP-API)
Documentation
/*
 * Selling Partner API for Easy Ship
 *
 * Use the Selling Partner API for Easy Ship to build applications for sellers to manage and ship Amazon Easy Ship orders. With this API, you can get available time slots, schedule and reschedule Easy Ship orders, and print shipping labels, invoices, and warranties. To review the differences in Easy Ship operations by marketplace, refer to [Marketplace support](https://developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support).
 *
 * The version of the OpenAPI document: 2022-03-23
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// Code : An error code that identifies the type of error that occurred. The error codes listed below are specific to the Easy Ship section.
/// An error code that identifies the type of error that occurred. The error codes listed below are specific to the Easy Ship section.
#[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
    }
}