oanda-v20-openapi 0.2.1

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.2.1
 * 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 = "AU200_AUD")]
    Au200Aud,
    #[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 = "BCO_USD")]
    BcoUsd,
    #[serde(rename = "CAD_CHF")]
    CadChf,
    #[serde(rename = "CAD_HKD")]
    CadHkd,
    #[serde(rename = "CAD_JPY")]
    CadJpy,
    #[serde(rename = "CAD_SGD")]
    CadSgd,
    #[serde(rename = "CH20_CHF")]
    Ch20Chf,
    #[serde(rename = "CHF_HKD")]
    ChfHkd,
    #[serde(rename = "CHF_JPY")]
    ChfJpy,
    #[serde(rename = "CHF_ZAR")]
    ChfZar,
    #[serde(rename = "CHINAH_HKD")]
    ChinahHkd,
    #[serde(rename = "CN50_USD")]
    Cn50Usd,
    #[serde(rename = "CORN_USD")]
    CornUsd,
    #[serde(rename = "DE10YB_EUR")]
    De10YbEur,
    #[serde(rename = "DE30_EUR")]
    De30Eur,
    #[serde(rename = "ESPIX_EUR")]
    EspixEur,
    #[serde(rename = "EU50_EUR")]
    Eu50Eur,
    #[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 = "FR40_EUR")]
    Fr40Eur,
    #[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 = "HK33_HKD")]
    Hk33Hkd,
    #[serde(rename = "HKD_JPY")]
    HkdJpy,
    #[serde(rename = "JP225_USD")]
    Jp225Usd,
    #[serde(rename = "JP225Y_JPY")]
    Jp225YJpy,
    #[serde(rename = "NAS100_USD")]
    Nas100Usd,
    #[serde(rename = "NATGAS_USD")]
    NatgasUsd,
    #[serde(rename = "NL25_EUR")]
    Nl25Eur,
    #[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 = "SG30_SGD")]
    Sg30Sgd,
    #[serde(rename = "SGD_CHF")]
    SgdChf,
    #[serde(rename = "SGD_JPY")]
    SgdJpy,
    #[serde(rename = "SOYBN_USD")]
    SoybnUsd,
    #[serde(rename = "SPX500_USD")]
    Spx500Usd,
    #[serde(rename = "SUGAR_USD")]
    SugarUsd,
    #[serde(rename = "TRY_JPY")]
    TryJpy,
    #[serde(rename = "UK100_GBP")]
    Uk100Gbp,
    #[serde(rename = "UK10YB_GBP")]
    Uk10YbGbp,
    #[serde(rename = "US2000_USD")]
    Us2000Usd,
    #[serde(rename = "US30_USD")]
    Us30Usd,
    #[serde(rename = "USB02Y_USD")]
    Usb02YUsd,
    #[serde(rename = "USB05Y_USD")]
    Usb05YUsd,
    #[serde(rename = "USB10Y_USD")]
    Usb10YUsd,
    #[serde(rename = "USB30Y_USD")]
    Usb30YUsd,
    #[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_SEK")]
    UsdSek,
    #[serde(rename = "USD_SGD")]
    UsdSgd,
    #[serde(rename = "USD_THB")]
    UsdThb,
    #[serde(rename = "USD_TRY")]
    UsdTry,
    #[serde(rename = "USD_ZAR")]
    UsdZar,
    #[serde(rename = "WHEAT_USD")]
    WheatUsd,
    #[serde(rename = "WTICO_USD")]
    WticoUsd,
    #[serde(rename = "XAG_AUD")]
    XagAud,
    #[serde(rename = "XAG_CAD")]
    XagCad,
    #[serde(rename = "XAG_CHF")]
    XagChf,
    #[serde(rename = "XAG_EUR")]
    XagEur,
    #[serde(rename = "XAG_GBP")]
    XagGbp,
    #[serde(rename = "XAG_HKD")]
    XagHkd,
    #[serde(rename = "XAG_JPY")]
    XagJpy,
    #[serde(rename = "XAG_NZD")]
    XagNzd,
    #[serde(rename = "XAG_SGD")]
    XagSgd,
    #[serde(rename = "XAG_USD")]
    XagUsd,
    #[serde(rename = "XAU_AUD")]
    XauAud,
    #[serde(rename = "XAU_CAD")]
    XauCad,
    #[serde(rename = "XAU_CHF")]
    XauChf,
    #[serde(rename = "XAU_EUR")]
    XauEur,
    #[serde(rename = "XAU_GBP")]
    XauGbp,
    #[serde(rename = "XAU_HKD")]
    XauHkd,
    #[serde(rename = "XAU_JPY")]
    XauJpy,
    #[serde(rename = "XAU_NZD")]
    XauNzd,
    #[serde(rename = "XAU_SGD")]
    XauSgd,
    #[serde(rename = "XAU_USD")]
    XauUsd,
    #[serde(rename = "XAU_XAG")]
    XauXag,
    #[serde(rename = "XCU_USD")]
    XcuUsd,
    #[serde(rename = "XPD_USD")]
    XpdUsd,
    #[serde(rename = "XPT_USD")]
    XptUsd,
    #[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::Au200Aud => write!(f, "AU200_AUD"),
            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::BcoUsd => write!(f, "BCO_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::Ch20Chf => write!(f, "CH20_CHF"),
            Self::ChfHkd => write!(f, "CHF_HKD"),
            Self::ChfJpy => write!(f, "CHF_JPY"),
            Self::ChfZar => write!(f, "CHF_ZAR"),
            Self::ChinahHkd => write!(f, "CHINAH_HKD"),
            Self::Cn50Usd => write!(f, "CN50_USD"),
            Self::CornUsd => write!(f, "CORN_USD"),
            Self::De10YbEur => write!(f, "DE10YB_EUR"),
            Self::De30Eur => write!(f, "DE30_EUR"),
            Self::EspixEur => write!(f, "ESPIX_EUR"),
            Self::Eu50Eur => write!(f, "EU50_EUR"),
            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::Fr40Eur => write!(f, "FR40_EUR"),
            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::Hk33Hkd => write!(f, "HK33_HKD"),
            Self::HkdJpy => write!(f, "HKD_JPY"),
            Self::Jp225Usd => write!(f, "JP225_USD"),
            Self::Jp225YJpy => write!(f, "JP225Y_JPY"),
            Self::Nas100Usd => write!(f, "NAS100_USD"),
            Self::NatgasUsd => write!(f, "NATGAS_USD"),
            Self::Nl25Eur => write!(f, "NL25_EUR"),
            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::Sg30Sgd => write!(f, "SG30_SGD"),
            Self::SgdChf => write!(f, "SGD_CHF"),
            Self::SgdJpy => write!(f, "SGD_JPY"),
            Self::SoybnUsd => write!(f, "SOYBN_USD"),
            Self::Spx500Usd => write!(f, "SPX500_USD"),
            Self::SugarUsd => write!(f, "SUGAR_USD"),
            Self::TryJpy => write!(f, "TRY_JPY"),
            Self::Uk100Gbp => write!(f, "UK100_GBP"),
            Self::Uk10YbGbp => write!(f, "UK10YB_GBP"),
            Self::Us2000Usd => write!(f, "US2000_USD"),
            Self::Us30Usd => write!(f, "US30_USD"),
            Self::Usb02YUsd => write!(f, "USB02Y_USD"),
            Self::Usb05YUsd => write!(f, "USB05Y_USD"),
            Self::Usb10YUsd => write!(f, "USB10Y_USD"),
            Self::Usb30YUsd => write!(f, "USB30Y_USD"),
            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::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::WheatUsd => write!(f, "WHEAT_USD"),
            Self::WticoUsd => write!(f, "WTICO_USD"),
            Self::XagAud => write!(f, "XAG_AUD"),
            Self::XagCad => write!(f, "XAG_CAD"),
            Self::XagChf => write!(f, "XAG_CHF"),
            Self::XagEur => write!(f, "XAG_EUR"),
            Self::XagGbp => write!(f, "XAG_GBP"),
            Self::XagHkd => write!(f, "XAG_HKD"),
            Self::XagJpy => write!(f, "XAG_JPY"),
            Self::XagNzd => write!(f, "XAG_NZD"),
            Self::XagSgd => write!(f, "XAG_SGD"),
            Self::XagUsd => write!(f, "XAG_USD"),
            Self::XauAud => write!(f, "XAU_AUD"),
            Self::XauCad => write!(f, "XAU_CAD"),
            Self::XauChf => write!(f, "XAU_CHF"),
            Self::XauEur => write!(f, "XAU_EUR"),
            Self::XauGbp => write!(f, "XAU_GBP"),
            Self::XauHkd => write!(f, "XAU_HKD"),
            Self::XauJpy => write!(f, "XAU_JPY"),
            Self::XauNzd => write!(f, "XAU_NZD"),
            Self::XauSgd => write!(f, "XAU_SGD"),
            Self::XauUsd => write!(f, "XAU_USD"),
            Self::XauXag => write!(f, "XAU_XAG"),
            Self::XcuUsd => write!(f, "XCU_USD"),
            Self::XpdUsd => write!(f, "XPD_USD"),
            Self::XptUsd => write!(f, "XPT_USD"),
            Self::ZarJpy => write!(f, "ZAR_JPY"),
        }
    }
}

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