oanda-v20-openapi 0.1.0

The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
Documentation
/*
 * OANDA v20 API
 *
 * The full OANDA v20 API Specification. This specification defines how to interact with v20 Accounts, Trades, Orders, Pricing and more.
 *
 * The version of the OpenAPI document: 0.1.0
 * Contact: jmicoud02@gmail.com
 * Generated by: https://openapi-generator.tech
 */

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

/// InstrumentName : Instrument name identifier. Used by clients to refer to an Instrument.
/// Instrument name identifier. Used by clients to refer to an Instrument.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum InstrumentName {
    #[serde(rename = "AUD_CAD")]
    AudCad,
    #[serde(rename = "AUD_CHF")]
    AudChf,
    #[serde(rename = "AUD_HKD")]
    AudHkd,
    #[serde(rename = "AUD_JPY")]
    AudJpy,
    #[serde(rename = "AUD_NZD")]
    AudNzd,
    #[serde(rename = "AUD_SGD")]
    AudSgd,
    #[serde(rename = "AUD_USD")]
    AudUsd,
    #[serde(rename = "CAD_CHF")]
    CadChf,
    #[serde(rename = "CAD_HKD")]
    CadHkd,
    #[serde(rename = "CAD_JPY")]
    CadJpy,
    #[serde(rename = "CAD_SGD")]
    CadSgd,
    #[serde(rename = "CHF_HKD")]
    ChfHkd,
    #[serde(rename = "CHF_JPY")]
    ChfJpy,
    #[serde(rename = "CHF_ZAR")]
    ChfZar,
    #[serde(rename = "EUR_AUD")]
    EurAud,
    #[serde(rename = "EUR_CAD")]
    EurCad,
    #[serde(rename = "EUR_CHF")]
    EurChf,
    #[serde(rename = "EUR_CZK")]
    EurCzk,
    #[serde(rename = "EUR_DKK")]
    EurDkk,
    #[serde(rename = "EUR_GBP")]
    EurGbp,
    #[serde(rename = "EUR_HKD")]
    EurHkd,
    #[serde(rename = "EUR_HUF")]
    EurHuf,
    #[serde(rename = "EUR_JPY")]
    EurJpy,
    #[serde(rename = "EUR_NOK")]
    EurNok,
    #[serde(rename = "EUR_NZD")]
    EurNzd,
    #[serde(rename = "EUR_PLN")]
    EurPln,
    #[serde(rename = "EUR_SEK")]
    EurSek,
    #[serde(rename = "EUR_SGD")]
    EurSgd,
    #[serde(rename = "EUR_TRY")]
    EurTry,
    #[serde(rename = "EUR_USD")]
    EurUsd,
    #[serde(rename = "EUR_ZAR")]
    EurZar,
    #[serde(rename = "GBP_AUD")]
    GbpAud,
    #[serde(rename = "GBP_CAD")]
    GbpCad,
    #[serde(rename = "GBP_CHF")]
    GbpChf,
    #[serde(rename = "GBP_HKD")]
    GbpHkd,
    #[serde(rename = "GBP_JPY")]
    GbpJpy,
    #[serde(rename = "GBP_NZD")]
    GbpNzd,
    #[serde(rename = "GBP_PLN")]
    GbpPln,
    #[serde(rename = "GBP_SGD")]
    GbpSgd,
    #[serde(rename = "GBP_USD")]
    GbpUsd,
    #[serde(rename = "GBP_ZAR")]
    GbpZar,
    #[serde(rename = "HKD_JPY")]
    HkdJpy,
    #[serde(rename = "NZD_CAD")]
    NzdCad,
    #[serde(rename = "NZD_CHF")]
    NzdChf,
    #[serde(rename = "NZD_HKD")]
    NzdHkd,
    #[serde(rename = "NZD_JPY")]
    NzdJpy,
    #[serde(rename = "NZD_SGD")]
    NzdSgd,
    #[serde(rename = "NZD_USD")]
    NzdUsd,
    #[serde(rename = "SGD_CHF")]
    SgdChf,
    #[serde(rename = "SGD_HKD")]
    SgdHkd,
    #[serde(rename = "SGD_JPY")]
    SgdJpy,
    #[serde(rename = "TRY_JPY")]
    TryJpy,
    #[serde(rename = "USD_CAD")]
    UsdCad,
    #[serde(rename = "USD_CHF")]
    UsdChf,
    #[serde(rename = "USD_CNH")]
    UsdCnh,
    #[serde(rename = "USD_CZK")]
    UsdCzk,
    #[serde(rename = "USD_DKK")]
    UsdDkk,
    #[serde(rename = "USD_HKD")]
    UsdHkd,
    #[serde(rename = "USD_HUF")]
    UsdHuf,
    #[serde(rename = "USD_JPY")]
    UsdJpy,
    #[serde(rename = "USD_MXN")]
    UsdMxn,
    #[serde(rename = "USD_NOK")]
    UsdNok,
    #[serde(rename = "USD_PLN")]
    UsdPln,
    #[serde(rename = "USD_SAR")]
    UsdSar,
    #[serde(rename = "USD_SEK")]
    UsdSek,
    #[serde(rename = "USD_SGD")]
    UsdSgd,
    #[serde(rename = "USD_THB")]
    UsdThb,
    #[serde(rename = "USD_TRY")]
    UsdTry,
    #[serde(rename = "USD_ZAR")]
    UsdZar,
    #[serde(rename = "ZAR_JPY")]
    ZarJpy,

}

impl std::fmt::Display for InstrumentName {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::AudCad => write!(f, "AUD_CAD"),
            Self::AudChf => write!(f, "AUD_CHF"),
            Self::AudHkd => write!(f, "AUD_HKD"),
            Self::AudJpy => write!(f, "AUD_JPY"),
            Self::AudNzd => write!(f, "AUD_NZD"),
            Self::AudSgd => write!(f, "AUD_SGD"),
            Self::AudUsd => write!(f, "AUD_USD"),
            Self::CadChf => write!(f, "CAD_CHF"),
            Self::CadHkd => write!(f, "CAD_HKD"),
            Self::CadJpy => write!(f, "CAD_JPY"),
            Self::CadSgd => write!(f, "CAD_SGD"),
            Self::ChfHkd => write!(f, "CHF_HKD"),
            Self::ChfJpy => write!(f, "CHF_JPY"),
            Self::ChfZar => write!(f, "CHF_ZAR"),
            Self::EurAud => write!(f, "EUR_AUD"),
            Self::EurCad => write!(f, "EUR_CAD"),
            Self::EurChf => write!(f, "EUR_CHF"),
            Self::EurCzk => write!(f, "EUR_CZK"),
            Self::EurDkk => write!(f, "EUR_DKK"),
            Self::EurGbp => write!(f, "EUR_GBP"),
            Self::EurHkd => write!(f, "EUR_HKD"),
            Self::EurHuf => write!(f, "EUR_HUF"),
            Self::EurJpy => write!(f, "EUR_JPY"),
            Self::EurNok => write!(f, "EUR_NOK"),
            Self::EurNzd => write!(f, "EUR_NZD"),
            Self::EurPln => write!(f, "EUR_PLN"),
            Self::EurSek => write!(f, "EUR_SEK"),
            Self::EurSgd => write!(f, "EUR_SGD"),
            Self::EurTry => write!(f, "EUR_TRY"),
            Self::EurUsd => write!(f, "EUR_USD"),
            Self::EurZar => write!(f, "EUR_ZAR"),
            Self::GbpAud => write!(f, "GBP_AUD"),
            Self::GbpCad => write!(f, "GBP_CAD"),
            Self::GbpChf => write!(f, "GBP_CHF"),
            Self::GbpHkd => write!(f, "GBP_HKD"),
            Self::GbpJpy => write!(f, "GBP_JPY"),
            Self::GbpNzd => write!(f, "GBP_NZD"),
            Self::GbpPln => write!(f, "GBP_PLN"),
            Self::GbpSgd => write!(f, "GBP_SGD"),
            Self::GbpUsd => write!(f, "GBP_USD"),
            Self::GbpZar => write!(f, "GBP_ZAR"),
            Self::HkdJpy => write!(f, "HKD_JPY"),
            Self::NzdCad => write!(f, "NZD_CAD"),
            Self::NzdChf => write!(f, "NZD_CHF"),
            Self::NzdHkd => write!(f, "NZD_HKD"),
            Self::NzdJpy => write!(f, "NZD_JPY"),
            Self::NzdSgd => write!(f, "NZD_SGD"),
            Self::NzdUsd => write!(f, "NZD_USD"),
            Self::SgdChf => write!(f, "SGD_CHF"),
            Self::SgdHkd => write!(f, "SGD_HKD"),
            Self::SgdJpy => write!(f, "SGD_JPY"),
            Self::TryJpy => write!(f, "TRY_JPY"),
            Self::UsdCad => write!(f, "USD_CAD"),
            Self::UsdChf => write!(f, "USD_CHF"),
            Self::UsdCnh => write!(f, "USD_CNH"),
            Self::UsdCzk => write!(f, "USD_CZK"),
            Self::UsdDkk => write!(f, "USD_DKK"),
            Self::UsdHkd => write!(f, "USD_HKD"),
            Self::UsdHuf => write!(f, "USD_HUF"),
            Self::UsdJpy => write!(f, "USD_JPY"),
            Self::UsdMxn => write!(f, "USD_MXN"),
            Self::UsdNok => write!(f, "USD_NOK"),
            Self::UsdPln => write!(f, "USD_PLN"),
            Self::UsdSar => write!(f, "USD_SAR"),
            Self::UsdSek => write!(f, "USD_SEK"),
            Self::UsdSgd => write!(f, "USD_SGD"),
            Self::UsdThb => write!(f, "USD_THB"),
            Self::UsdTry => write!(f, "USD_TRY"),
            Self::UsdZar => write!(f, "USD_ZAR"),
            Self::ZarJpy => write!(f, "ZAR_JPY"),
        }
    }
}

impl Default for InstrumentName {
    fn default() -> InstrumentName {
        Self::AudCad
    }
}