#![allow(clippy::all)]
#![allow(non_snake_case, non_camel_case_types, dead_code, unused_imports)]
#![allow(non_local_definitions)]
use std::str::FromStr;
use crate::validate::Validate;
use yaserde_derive::{YaDeserialize, YaSerialize};
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveCurrencyCode (pub String);
crate::simple_type!(ActiveCurrencyCode);
impl Validate for ActiveCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyAnd20AmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAnd20AmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAnd20AmountSimpleType {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct ActiveOrHistoricCurrencyAnd20Amount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAnd20Amount {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct ActiveOrHistoricCurrencyCode (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyCode);
impl Validate for ActiveOrHistoricCurrencyCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct AnyBICDec2014Identifier (pub String);
crate::simple_type!(AnyBICDec2014Identifier);
impl Validate for AnyBICDec2014Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum BenchmarkCurveName3Code {
#[yaserde(rename = "ESTR")]
#[cfg_attr(feature = "serde", serde(rename = "ESTR"))]
Estr,
#[yaserde(rename = "BBSW")]
#[cfg_attr(feature = "serde", serde(rename = "BBSW"))]
Bbsw,
#[yaserde(rename = "BUBO")]
#[cfg_attr(feature = "serde", serde(rename = "BUBO"))]
Bubo,
#[yaserde(rename = "CDOR")]
#[cfg_attr(feature = "serde", serde(rename = "CDOR"))]
Cdor,
#[yaserde(rename = "CIBO")]
#[cfg_attr(feature = "serde", serde(rename = "CIBO"))]
Cibo,
#[yaserde(rename = "EONA")]
#[cfg_attr(feature = "serde", serde(rename = "EONA"))]
Eona,
#[yaserde(rename = "EONS")]
#[cfg_attr(feature = "serde", serde(rename = "EONS"))]
Eons,
#[yaserde(rename = "EURI")]
#[cfg_attr(feature = "serde", serde(rename = "EURI"))]
Euri,
#[yaserde(rename = "EUUS")]
#[cfg_attr(feature = "serde", serde(rename = "EUUS"))]
Euus,
#[yaserde(rename = "EUCH")]
#[cfg_attr(feature = "serde", serde(rename = "EUCH"))]
Euch,
#[yaserde(rename = "FUSW")]
#[cfg_attr(feature = "serde", serde(rename = "FUSW"))]
Fusw,
#[yaserde(rename = "GCFR")]
#[cfg_attr(feature = "serde", serde(rename = "GCFR"))]
Gcfr,
#[yaserde(rename = "ISDA")]
#[cfg_attr(feature = "serde", serde(rename = "ISDA"))]
Isda,
#[yaserde(rename = "JIBA")]
#[cfg_attr(feature = "serde", serde(rename = "JIBA"))]
Jiba,
#[yaserde(rename = "LIBI")]
#[cfg_attr(feature = "serde", serde(rename = "LIBI"))]
Libi,
#[yaserde(rename = "LIBO")]
#[cfg_attr(feature = "serde", serde(rename = "LIBO"))]
Libo,
#[yaserde(rename = "MOSP")]
#[cfg_attr(feature = "serde", serde(rename = "MOSP"))]
Mosp,
#[yaserde(rename = "MAAA")]
#[cfg_attr(feature = "serde", serde(rename = "MAAA"))]
Maaa,
#[yaserde(rename = "NIBO")]
#[cfg_attr(feature = "serde", serde(rename = "NIBO"))]
Nibo,
#[yaserde(rename = "PFAN")]
#[cfg_attr(feature = "serde", serde(rename = "PFAN"))]
Pfan,
#[yaserde(rename = "PRBO")]
#[cfg_attr(feature = "serde", serde(rename = "PRBO"))]
Prbo,
#[yaserde(rename = "STBO")]
#[cfg_attr(feature = "serde", serde(rename = "STBO"))]
Stbo,
#[yaserde(rename = "SWAP")]
#[cfg_attr(feature = "serde", serde(rename = "SWAP"))]
Swap,
#[yaserde(rename = "TLBO")]
#[cfg_attr(feature = "serde", serde(rename = "TLBO"))]
Tlbo,
#[yaserde(rename = "TIBO")]
#[cfg_attr(feature = "serde", serde(rename = "TIBO"))]
Tibo,
#[yaserde(rename = "TREA")]
#[cfg_attr(feature = "serde", serde(rename = "TREA"))]
Trea,
#[yaserde(rename = "WIBO")]
#[cfg_attr(feature = "serde", serde(rename = "WIBO"))]
Wibo,
#[yaserde(rename = "SOFR")]
#[cfg_attr(feature = "serde", serde(rename = "SOFR"))]
Sofr,
#[yaserde(rename = "SONA")]
#[cfg_attr(feature = "serde", serde(rename = "SONA"))]
Sona,
__Unknown__(String),
}
impl Default for BenchmarkCurveName3Code {
fn default() -> BenchmarkCurveName3Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for BenchmarkCurveName3Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum CollateralisationType1Code {
#[yaserde(rename = "FLCL")]
#[cfg_attr(feature = "serde", serde(rename = "FLCL"))]
Flcl,
#[yaserde(rename = "OWCL")]
#[cfg_attr(feature = "serde", serde(rename = "OWCL"))]
Owcl,
#[yaserde(rename = "PRCL")]
#[cfg_attr(feature = "serde", serde(rename = "PRCL"))]
Prcl,
#[yaserde(rename = "UNCL")]
#[cfg_attr(feature = "serde", serde(rename = "UNCL"))]
Uncl,
__Unknown__(String),
}
impl Default for CollateralisationType1Code {
fn default() -> CollateralisationType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for CollateralisationType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct Counterparty26 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: OrganisationIdentification7Choice,
#[yaserde(rename = "Ntr")]
#[cfg_attr(feature = "serde", serde(rename = "Ntr"))]
pub ntr: CounterpartyTradeNature5Choice,
#[yaserde(rename = "TradgCpcty")]
#[cfg_attr(feature = "serde", serde(rename = "TradgCpcty"))]
pub tradg_cpcty: TradingCapacity7Code,
#[yaserde(rename = "CtrPtySd")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtySd"))]
pub ctr_pty_sd: OptionParty1Code,
}
impl Validate for Counterparty26 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct Counterparty29 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: OrganisationIdentification9Choice,
#[yaserde(rename = "Ctry")]
#[cfg_attr(feature = "serde", serde(rename = "Ctry"))]
pub ctry: CountryCode,
}
impl Validate for Counterparty29 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct CounterpartyTradeNature5Choice {
#[yaserde(rename = "FI")]
#[cfg_attr(feature = "serde", serde(rename = "FI"))]
pub fi: Vec<FinancialPartySectorType1Code>,
#[yaserde(rename = "NFI")]
#[cfg_attr(feature = "serde", serde(rename = "NFI"))]
pub nfi: Option<NonFinancialInstitutionSector2>,
#[yaserde(rename = "CntrlCntrPty")]
#[cfg_attr(feature = "serde", serde(rename = "CntrlCntrPty"))]
pub cntrl_cntr_pty: Option<NoReasonCode>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<NoReasonCode>,
}
impl Validate for CounterpartyTradeNature5Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct CountryCode (pub String);
crate::simple_type!(CountryCode);
impl Validate for CountryCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum DebtInstrumentSeniorityType2Code {
#[yaserde(rename = "SBOD")]
#[cfg_attr(feature = "serde", serde(rename = "SBOD"))]
Sbod,
#[yaserde(rename = "SNDB")]
#[cfg_attr(feature = "serde", serde(rename = "SNDB"))]
Sndb,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for DebtInstrumentSeniorityType2Code {
fn default() -> DebtInstrumentSeniorityType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for DebtInstrumentSeniorityType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct DerivativesTradePositionSetReportV01 {
#[yaserde(rename = "AggtdPos")]
#[cfg_attr(feature = "serde", serde(rename = "AggtdPos"))]
pub aggtd_pos: PositionSetAggregated1Choice,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for DerivativesTradePositionSetReportV01 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct Document {
#[yaserde(rename = "DerivsTradPosSetRpt")]
#[cfg_attr(feature = "serde", serde(rename = "DerivsTradPosSetRpt"))]
pub derivs_trad_pos_set_rpt: DerivativesTradePositionSetReportV01,
}
impl Validate for Document {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct ExchangeRateBasis1 {
#[yaserde(rename = "BaseCcy")]
#[cfg_attr(feature = "serde", serde(rename = "BaseCcy"))]
pub base_ccy: ActiveCurrencyCode,
#[yaserde(rename = "QtdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "QtdCcy"))]
pub qtd_ccy: ActiveCurrencyCode,
}
impl Validate for ExchangeRateBasis1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct ExchangeRateBasis1Choice {
#[yaserde(rename = "CcyPair")]
#[cfg_attr(feature = "serde", serde(rename = "CcyPair"))]
pub ccy_pair: Option<ExchangeRateBasis1>,
#[yaserde(rename = "Prtry")]
#[cfg_attr(feature = "serde", serde(rename = "Prtry"))]
pub prtry: Option<Max52Text>,
}
impl Validate for ExchangeRateBasis1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum FinancialInstrumentContractType2Code {
#[yaserde(rename = "CFDS")]
#[cfg_attr(feature = "serde", serde(rename = "CFDS"))]
Cfds,
#[yaserde(rename = "FRAS")]
#[cfg_attr(feature = "serde", serde(rename = "FRAS"))]
Fras,
#[yaserde(rename = "FUTR")]
#[cfg_attr(feature = "serde", serde(rename = "FUTR"))]
Futr,
#[yaserde(rename = "FORW")]
#[cfg_attr(feature = "serde", serde(rename = "FORW"))]
Forw,
#[yaserde(rename = "OPTN")]
#[cfg_attr(feature = "serde", serde(rename = "OPTN"))]
Optn,
#[yaserde(rename = "SPDB")]
#[cfg_attr(feature = "serde", serde(rename = "SPDB"))]
Spdb,
#[yaserde(rename = "SWAP")]
#[cfg_attr(feature = "serde", serde(rename = "SWAP"))]
Swap,
#[yaserde(rename = "SWPT")]
#[cfg_attr(feature = "serde", serde(rename = "SWPT"))]
Swpt,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for FinancialInstrumentContractType2Code {
fn default() -> FinancialInstrumentContractType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FinancialInstrumentContractType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum FinancialPartySectorType1Code {
#[yaserde(rename = "AIFD")]
#[cfg_attr(feature = "serde", serde(rename = "AIFD"))]
Aifd,
#[yaserde(rename = "ASSU")]
#[cfg_attr(feature = "serde", serde(rename = "ASSU"))]
Assu,
#[yaserde(rename = "CDTI")]
#[cfg_attr(feature = "serde", serde(rename = "CDTI"))]
Cdti,
#[yaserde(rename = "INUN")]
#[cfg_attr(feature = "serde", serde(rename = "INUN"))]
Inun,
#[yaserde(rename = "INVF")]
#[cfg_attr(feature = "serde", serde(rename = "INVF"))]
Invf,
#[yaserde(rename = "ORPI")]
#[cfg_attr(feature = "serde", serde(rename = "ORPI"))]
Orpi,
#[yaserde(rename = "REIN")]
#[cfg_attr(feature = "serde", serde(rename = "REIN"))]
Rein,
#[yaserde(rename = "UCIT")]
#[cfg_attr(feature = "serde", serde(rename = "UCIT"))]
Ucit,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for FinancialPartySectorType1Code {
fn default() -> FinancialPartySectorType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FinancialPartySectorType1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isinoct2015Identifier (pub String);
crate::simple_type!(Isinoct2015Identifier);
impl Validate for Isinoct2015Identifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Isodate (pub String);
crate::simple_type!(Isodate);
impl Validate for Isodate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct IsorestrictedYear (pub String);
crate::simple_type!(IsorestrictedYear);
impl Validate for IsorestrictedYear {
fn validate(&self) -> Result<(), String> {
if self.0 < "1900".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 1900.\nActual: 0 == {}", self.0));
}
if self.0 > "2099".parse::<String>().unwrap() {
return Err(format!("MaxInclusive validation error: invalid value of 0! \nExpected: 0 <= 2099.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Leiidentifier (pub String);
crate::simple_type!(Leiidentifier);
impl Validate for Leiidentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct MasterAgreement2 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: Max50Text,
#[yaserde(rename = "Vrsn")]
#[cfg_attr(feature = "serde", serde(rename = "Vrsn"))]
pub vrsn: IsorestrictedYear,
}
impl Validate for MasterAgreement2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct MaturityTerm2 {
#[yaserde(rename = "Unit")]
#[cfg_attr(feature = "serde", serde(rename = "Unit"))]
pub unit: RateBasis1Code,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: Max3Number,
}
impl Validate for MaturityTerm2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max105Text (pub String);
crate::simple_type!(Max105Text);
impl Validate for Max105Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 105 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 105 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max20PositiveNumber (pub String);
crate::simple_type!(Max20PositiveNumber);
impl Validate for Max20PositiveNumber {
fn validate(&self) -> Result<(), String> {
if self.0 < "0".parse::<String>().unwrap() {
return Err(format!("MinInclusive validation error: invalid value of 0! \nExpected: 0 >= 0.\nActual: 0 == {}", self.0));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max350Text (pub String);
crate::simple_type!(Max350Text);
impl Validate for Max350Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 350 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 350 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max3Number (pub String);
crate::simple_type!(Max3Number);
impl Validate for Max3Number {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max500Text (pub String);
crate::simple_type!(Max500Text);
impl Validate for Max500Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 500 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 500 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max50Text (pub String);
crate::simple_type!(Max50Text);
impl Validate for Max50Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 50 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 50 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct Max52Text (pub String);
crate::simple_type!(Max52Text);
impl Validate for Max52Text {
fn validate(&self) -> Result<(), String> {
#[allow(clippy::len_zero)]
if self.0.len() < 1 {
return Err(format!("MinLength validation error. \nExpected: 0 length >= 1 \nActual: 0 length == {}", self.0.len()));
}
if self.0.len() > 52 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 52 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct NacedomainIdentifier (pub String);
crate::simple_type!(NacedomainIdentifier);
impl Validate for NacedomainIdentifier {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum NoReasonCode {
#[yaserde(rename = "NORE")]
#[cfg_attr(feature = "serde", serde(rename = "NORE"))]
Nore,
__Unknown__(String),
}
impl Default for NoReasonCode {
fn default() -> NoReasonCode {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for NoReasonCode {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct NonFinancialInstitutionSector2 {
#[yaserde(rename = "Sctr")]
#[cfg_attr(feature = "serde", serde(rename = "Sctr"))]
pub sctr: Vec<NacedomainIdentifier>,
#[yaserde(rename = "ClrThrshld")]
#[cfg_attr(feature = "serde", serde(rename = "ClrThrshld"))]
pub clr_thrshld: TrueFalseIndicator,
#[yaserde(rename = "DrctlyLkdActvty")]
#[cfg_attr(feature = "serde", serde(rename = "DrctlyLkdActvty"))]
pub drctly_lkd_actvty: TrueFalseIndicator,
}
impl Validate for NonFinancialInstitutionSector2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum OptionParty1Code {
#[yaserde(rename = "SLLR")]
#[cfg_attr(feature = "serde", serde(rename = "SLLR"))]
Sllr,
#[yaserde(rename = "BYER")]
#[cfg_attr(feature = "serde", serde(rename = "BYER"))]
Byer,
__Unknown__(String),
}
impl Default for OptionParty1Code {
fn default() -> OptionParty1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionParty1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum OptionType2Code {
#[yaserde(rename = "CALL")]
#[cfg_attr(feature = "serde", serde(rename = "CALL"))]
Call,
#[yaserde(rename = "PUTO")]
#[cfg_attr(feature = "serde", serde(rename = "PUTO"))]
Puto,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for OptionType2Code {
fn default() -> OptionType2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for OptionType2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct OrganisationIdentification30 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: OrganisationIdentification8Choice,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Max105Text,
#[yaserde(rename = "Dmcl")]
#[cfg_attr(feature = "serde", serde(rename = "Dmcl"))]
pub dmcl: Max500Text,
}
impl Validate for OrganisationIdentification30 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct OrganisationIdentification7Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "Othr")]
#[cfg_attr(feature = "serde", serde(rename = "Othr"))]
pub othr: Option<OrganisationIdentification30>,
}
impl Validate for OrganisationIdentification7Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct OrganisationIdentification8Choice {
#[yaserde(rename = "ClntId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntId"))]
pub clnt_id: Option<Max50Text>,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
}
impl Validate for OrganisationIdentification8Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct OrganisationIdentification9Choice {
#[yaserde(rename = "LEI")]
#[cfg_attr(feature = "serde", serde(rename = "LEI"))]
pub lei: Option<Leiidentifier>,
#[yaserde(rename = "ClntId")]
#[cfg_attr(feature = "serde", serde(rename = "ClntId"))]
pub clnt_id: Option<Max50Text>,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
}
impl Validate for OrganisationIdentification9Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSet4 {
#[yaserde(rename = "Dmnsns")]
#[cfg_attr(feature = "serde", serde(rename = "Dmnsns"))]
pub dmnsns: PositionSetCollateralDimensions2,
#[yaserde(rename = "Mtrcs")]
#[cfg_attr(feature = "serde", serde(rename = "Mtrcs"))]
pub mtrcs: PositionSetCollateralMetrics1,
}
impl Validate for PositionSet4 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSet5 {
#[yaserde(rename = "Dmnsns")]
#[cfg_attr(feature = "serde", serde(rename = "Dmnsns"))]
pub dmnsns: PositionSetDimensions3,
#[yaserde(rename = "Mtrcs")]
#[cfg_attr(feature = "serde", serde(rename = "Mtrcs"))]
pub mtrcs: PositionSetMetrics1,
}
impl Validate for PositionSet5 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetAggregated1Choice {
#[yaserde(rename = "DataSetActn")]
#[cfg_attr(feature = "serde", serde(rename = "DataSetActn"))]
pub data_set_actn: Option<ReportPeriodActivity1Code>,
#[yaserde(rename = "Rpt")]
#[cfg_attr(feature = "serde", serde(rename = "Rpt"))]
pub rpt: Option<PositionSetAggregated3>,
}
impl Validate for PositionSetAggregated1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetAggregated3 {
#[yaserde(rename = "RefDt")]
#[cfg_attr(feature = "serde", serde(rename = "RefDt"))]
pub ref_dt: Isodate,
#[yaserde(rename = "PosSet")]
#[cfg_attr(feature = "serde", serde(rename = "PosSet"))]
pub pos_set: Vec<PositionSet5>,
#[yaserde(rename = "CcyPosSet")]
#[cfg_attr(feature = "serde", serde(rename = "CcyPosSet"))]
pub ccy_pos_set: Vec<PositionSet5>,
#[yaserde(rename = "CollPosSet")]
#[cfg_attr(feature = "serde", serde(rename = "CollPosSet"))]
pub coll_pos_set: Vec<PositionSet4>,
#[yaserde(rename = "CcyCollPosSet")]
#[cfg_attr(feature = "serde", serde(rename = "CcyCollPosSet"))]
pub ccy_coll_pos_set: Vec<PositionSet4>,
}
impl Validate for PositionSetAggregated3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetBuyerAndSeller1 {
#[yaserde(rename = "Buyr")]
#[cfg_attr(feature = "serde", serde(rename = "Buyr"))]
pub buyr: PositionSetTotal1,
#[yaserde(rename = "Sellr")]
#[cfg_attr(feature = "serde", serde(rename = "Sellr"))]
pub sellr: PositionSetTotal1,
}
impl Validate for PositionSetBuyerAndSeller1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetCollateralDimensions2 {
#[yaserde(rename = "CtrPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyId"))]
pub ctr_pty_id: TradeCounterpartyReport9,
#[yaserde(rename = "Collstn")]
#[cfg_attr(feature = "serde", serde(rename = "Collstn"))]
pub collstn: CollateralisationType1Code,
#[yaserde(rename = "Prtfl")]
#[cfg_attr(feature = "serde", serde(rename = "Prtfl"))]
pub prtfl: Max52Text,
#[yaserde(rename = "InitlMrgnPstdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnPstdCcy"))]
pub initl_mrgn_pstd_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "VartnMrgnPstdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnPstdCcy"))]
pub vartn_mrgn_pstd_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "InitlMrgnRcvdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgnRcvdCcy"))]
pub initl_mrgn_rcvd_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "VartnMrgnRcvdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgnRcvdCcy"))]
pub vartn_mrgn_rcvd_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "XcssCollPstdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XcssCollPstdCcy"))]
pub xcss_coll_pstd_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "XcssCollRcvdCcy")]
#[cfg_attr(feature = "serde", serde(rename = "XcssCollRcvdCcy"))]
pub xcss_coll_rcvd_ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for PositionSetCollateralDimensions2 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetCollateralMetrics1 {
#[yaserde(rename = "Ttl")]
#[cfg_attr(feature = "serde", serde(rename = "Ttl"))]
pub ttl: PositionSetCollateralTotal1,
#[yaserde(rename = "Clean")]
#[cfg_attr(feature = "serde", serde(rename = "Clean"))]
pub clean: PositionSetCollateralTotal1,
}
impl Validate for PositionSetCollateralMetrics1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetCollateralTotal1 {
#[yaserde(rename = "NbOfRpts")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfRpts"))]
pub nb_of_rpts: Max20PositiveNumber,
#[yaserde(rename = "InitlMrgn")]
#[cfg_attr(feature = "serde", serde(rename = "InitlMrgn"))]
pub initl_mrgn: PositionSetPostedAndReceived1,
#[yaserde(rename = "VartnMrgn")]
#[cfg_attr(feature = "serde", serde(rename = "VartnMrgn"))]
pub vartn_mrgn: PositionSetPostedAndReceived1,
#[yaserde(rename = "XcssCsh")]
#[cfg_attr(feature = "serde", serde(rename = "XcssCsh"))]
pub xcss_csh: PositionSetPostedAndReceived1,
}
impl Validate for PositionSetCollateralTotal1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetDimensions3 {
#[yaserde(rename = "CtrPtyId")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPtyId"))]
pub ctr_pty_id: TradeCounterpartyReport9,
#[yaserde(rename = "ValCcy")]
#[cfg_attr(feature = "serde", serde(rename = "ValCcy"))]
pub val_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "Collstn")]
#[cfg_attr(feature = "serde", serde(rename = "Collstn"))]
pub collstn: CollateralisationType1Code,
#[yaserde(rename = "Prtfl")]
#[cfg_attr(feature = "serde", serde(rename = "Prtfl"))]
pub prtfl: Max52Text,
#[yaserde(rename = "CtrctTp")]
#[cfg_attr(feature = "serde", serde(rename = "CtrctTp"))]
pub ctrct_tp: FinancialInstrumentContractType2Code,
#[yaserde(rename = "AsstClss")]
#[cfg_attr(feature = "serde", serde(rename = "AsstClss"))]
pub asst_clss: ProductType4Code,
#[yaserde(rename = "UndrlygInstrm")]
#[cfg_attr(feature = "serde", serde(rename = "UndrlygInstrm"))]
pub undrlyg_instrm: SecurityIdentification34Choice,
#[yaserde(rename = "FrstLegNtnlCcy")]
#[cfg_attr(feature = "serde", serde(rename = "FrstLegNtnlCcy"))]
pub frst_leg_ntnl_ccy: ActiveCurrencyCode,
#[yaserde(rename = "ScndLegNtnlCcy")]
#[cfg_attr(feature = "serde", serde(rename = "ScndLegNtnlCcy"))]
pub scnd_leg_ntnl_ccy: ActiveCurrencyCode,
#[yaserde(rename = "DlvrblCcy")]
#[cfg_attr(feature = "serde", serde(rename = "DlvrblCcy"))]
pub dlvrbl_ccy: ActiveCurrencyCode,
#[yaserde(rename = "DlvrblCrossCcy")]
#[cfg_attr(feature = "serde", serde(rename = "DlvrblCrossCcy"))]
pub dlvrbl_cross_ccy: ActiveOrHistoricCurrencyCode,
#[yaserde(rename = "MstrAgrmt")]
#[cfg_attr(feature = "serde", serde(rename = "MstrAgrmt"))]
pub mstr_agrmt: MasterAgreement2,
#[yaserde(rename = "ClrSts")]
#[cfg_attr(feature = "serde", serde(rename = "ClrSts"))]
pub clr_sts: TrueFalseIndicator,
#[yaserde(rename = "IntraGrp")]
#[cfg_attr(feature = "serde", serde(rename = "IntraGrp"))]
pub intra_grp: TrueFalseIndicator,
#[yaserde(rename = "XchgRateBsis")]
#[cfg_attr(feature = "serde", serde(rename = "XchgRateBsis"))]
pub xchg_rate_bsis: ExchangeRateBasis1Choice,
#[yaserde(rename = "OptnTp")]
#[cfg_attr(feature = "serde", serde(rename = "OptnTp"))]
pub optn_tp: OptionType2Code,
#[yaserde(rename = "TmToMtrty")]
#[cfg_attr(feature = "serde", serde(rename = "TmToMtrty"))]
pub tm_to_mtrty: TimeToMaturity1Choice,
#[yaserde(rename = "IRSTp")]
#[cfg_attr(feature = "serde", serde(rename = "IRSTp"))]
pub irs_tp: Max52Text,
#[yaserde(rename = "Snrty")]
#[cfg_attr(feature = "serde", serde(rename = "Snrty"))]
pub snrty: DebtInstrumentSeniorityType2Code,
#[yaserde(rename = "Trch")]
#[cfg_attr(feature = "serde", serde(rename = "Trch"))]
pub trch: TrueFalseIndicator,
#[yaserde(rename = "Cmmdty")]
#[cfg_attr(feature = "serde", serde(rename = "Cmmdty"))]
pub cmmdty: Max52Text,
}
impl Validate for PositionSetDimensions3 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetMetrics1 {
#[yaserde(rename = "Ttl")]
#[cfg_attr(feature = "serde", serde(rename = "Ttl"))]
pub ttl: PositionSetBuyerAndSeller1,
#[yaserde(rename = "Clean")]
#[cfg_attr(feature = "serde", serde(rename = "Clean"))]
pub clean: PositionSetBuyerAndSeller1,
}
impl Validate for PositionSetMetrics1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetPostedAndReceived1 {
#[yaserde(rename = "Pstd")]
#[cfg_attr(feature = "serde", serde(rename = "Pstd"))]
pub pstd: ActiveOrHistoricCurrencyAnd20Amount,
#[yaserde(rename = "Rcvd")]
#[cfg_attr(feature = "serde", serde(rename = "Rcvd"))]
pub rcvd: ActiveOrHistoricCurrencyAnd20Amount,
}
impl Validate for PositionSetPostedAndReceived1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetTotal1 {
#[yaserde(rename = "NbOfTrds")]
#[cfg_attr(feature = "serde", serde(rename = "NbOfTrds"))]
pub nb_of_trds: Max20PositiveNumber,
#[yaserde(rename = "Postv")]
#[cfg_attr(feature = "serde", serde(rename = "Postv"))]
pub postv: PositionSetValueAndNotional1,
#[yaserde(rename = "Neg")]
#[cfg_attr(feature = "serde", serde(rename = "Neg"))]
pub neg: PositionSetValueAndNotional1,
}
impl Validate for PositionSetTotal1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct PositionSetValueAndNotional1 {
#[yaserde(rename = "Ntnl")]
#[cfg_attr(feature = "serde", serde(rename = "Ntnl"))]
pub ntnl: ActiveOrHistoricCurrencyAnd20Amount,
#[yaserde(rename = "Val")]
#[cfg_attr(feature = "serde", serde(rename = "Val"))]
pub val: ActiveOrHistoricCurrencyAnd20Amount,
}
impl Validate for PositionSetValueAndNotional1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum ProductType4Code {
#[yaserde(rename = "CRDT")]
#[cfg_attr(feature = "serde", serde(rename = "CRDT"))]
Crdt,
#[yaserde(rename = "CURR")]
#[cfg_attr(feature = "serde", serde(rename = "CURR"))]
Curr,
#[yaserde(rename = "EQUI")]
#[cfg_attr(feature = "serde", serde(rename = "EQUI"))]
Equi,
#[yaserde(rename = "INTR")]
#[cfg_attr(feature = "serde", serde(rename = "INTR"))]
Intr,
#[yaserde(rename = "COMM")]
#[cfg_attr(feature = "serde", serde(rename = "COMM"))]
Comm,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
__Unknown__(String),
}
impl Default for ProductType4Code {
fn default() -> ProductType4Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ProductType4Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum RateBasis1Code {
#[yaserde(rename = "DAYS")]
#[cfg_attr(feature = "serde", serde(rename = "DAYS"))]
Days,
#[yaserde(rename = "MNTH")]
#[cfg_attr(feature = "serde", serde(rename = "MNTH"))]
Mnth,
#[yaserde(rename = "WEEK")]
#[cfg_attr(feature = "serde", serde(rename = "WEEK"))]
Week,
#[yaserde(rename = "YEAR")]
#[cfg_attr(feature = "serde", serde(rename = "YEAR"))]
Year,
__Unknown__(String),
}
impl Default for RateBasis1Code {
fn default() -> RateBasis1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for RateBasis1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum ReportPeriodActivity1Code {
#[yaserde(rename = "NOTX")]
#[cfg_attr(feature = "serde", serde(rename = "NOTX"))]
Notx,
__Unknown__(String),
}
impl Default for ReportPeriodActivity1Code {
fn default() -> ReportPeriodActivity1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ReportPeriodActivity1Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct SecurityIdentification18Choice {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Option<Isinoct2015Identifier>,
#[yaserde(rename = "AltrntvInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrntvInstrmId"))]
pub altrntv_instrm_id: Option<Max52Text>,
}
impl Validate for SecurityIdentification18Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct SecurityIdentification34Choice {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Option<Isinoct2015Identifier>,
#[yaserde(rename = "AltrntvInstrmId")]
#[cfg_attr(feature = "serde", serde(rename = "AltrntvInstrmId"))]
pub altrntv_instrm_id: Option<Max52Text>,
#[yaserde(rename = "UnqPdctIdr")]
#[cfg_attr(feature = "serde", serde(rename = "UnqPdctIdr"))]
pub unq_pdct_idr: Option<Max52Text>,
#[yaserde(rename = "BsktCnsttnts")]
#[cfg_attr(feature = "serde", serde(rename = "BsktCnsttnts"))]
pub bskt_cnsttnts: Vec<SecurityIdentification18Choice>,
#[yaserde(rename = "Indx")]
#[cfg_attr(feature = "serde", serde(rename = "Indx"))]
pub indx: Option<SecurityIdentification35Choice>,
#[yaserde(rename = "IdNotAvlbl")]
#[cfg_attr(feature = "serde", serde(rename = "IdNotAvlbl"))]
pub id_not_avlbl: Option<UnderlyingIdentification1Code>,
}
impl Validate for SecurityIdentification34Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct SecurityIdentification35Choice {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Option<Isinoct2015Identifier>,
#[yaserde(rename = "Nm")]
#[cfg_attr(feature = "serde", serde(rename = "Nm"))]
pub nm: Option<Max350Text>,
#[yaserde(rename = "Indx")]
#[cfg_attr(feature = "serde", serde(rename = "Indx"))]
pub indx: Option<BenchmarkCurveName3Code>,
}
impl Validate for SecurityIdentification35Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum SpecialPurpose2Code {
#[yaserde(rename = "BLNK")]
#[cfg_attr(feature = "serde", serde(rename = "BLNK"))]
Blnk,
#[yaserde(rename = "NTAV")]
#[cfg_attr(feature = "serde", serde(rename = "NTAV"))]
Ntav,
__Unknown__(String),
}
impl Default for SpecialPurpose2Code {
fn default() -> SpecialPurpose2Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for SpecialPurpose2Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct SupplementaryData1 {
#[yaserde(rename = "PlcAndNm")]
#[cfg_attr(feature = "serde", serde(rename = "PlcAndNm"))]
pub plc_and_nm: Max350Text,
#[yaserde(rename = "Envlp")]
#[cfg_attr(feature = "serde", serde(rename = "Envlp"))]
pub envlp: SupplementaryDataEnvelope1,
}
impl Validate for SupplementaryData1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct SupplementaryDataEnvelope1 {}
impl Validate for SupplementaryDataEnvelope1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct TimeToMaturity1Choice {
#[yaserde(rename = "Prd")]
#[cfg_attr(feature = "serde", serde(rename = "Prd"))]
pub prd: Option<TimeToMaturityPeriod1>,
#[yaserde(rename = "Spcl")]
#[cfg_attr(feature = "serde", serde(rename = "Spcl"))]
pub spcl: Option<SpecialPurpose2Code>,
}
impl Validate for TimeToMaturity1Choice {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct TimeToMaturityPeriod1 {
#[yaserde(rename = "Start")]
#[cfg_attr(feature = "serde", serde(rename = "Start"))]
pub start: MaturityTerm2,
#[yaserde(rename = "End")]
#[cfg_attr(feature = "serde", serde(rename = "End"))]
pub end: MaturityTerm2,
}
impl Validate for TimeToMaturityPeriod1 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub struct TradeCounterpartyReport9 {
#[yaserde(rename = "RptgCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgCtrPty"))]
pub rptg_ctr_pty: Counterparty26,
#[yaserde(rename = "OthrCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "OthrCtrPty"))]
pub othr_ctr_pty: Counterparty29,
#[yaserde(rename = "Brkr")]
#[cfg_attr(feature = "serde", serde(rename = "Brkr"))]
pub brkr: OrganisationIdentification9Choice,
#[yaserde(rename = "SubmitgAgt")]
#[cfg_attr(feature = "serde", serde(rename = "SubmitgAgt"))]
pub submitg_agt: OrganisationIdentification9Choice,
#[yaserde(rename = "ClrMmb")]
#[cfg_attr(feature = "serde", serde(rename = "ClrMmb"))]
pub clr_mmb: OrganisationIdentification9Choice,
#[yaserde(rename = "Bnfcry")]
#[cfg_attr(feature = "serde", serde(rename = "Bnfcry"))]
pub bnfcry: OrganisationIdentification9Choice,
}
impl Validate for TradeCounterpartyReport9 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum TradingCapacity7Code {
#[yaserde(rename = "AGEN")]
#[cfg_attr(feature = "serde", serde(rename = "AGEN"))]
Agen,
#[yaserde(rename = "PRIN")]
#[cfg_attr(feature = "serde", serde(rename = "PRIN"))]
Prin,
__Unknown__(String),
}
impl Default for TradingCapacity7Code {
fn default() -> TradingCapacity7Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for TradingCapacity7Code {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct TrueFalseIndicator (pub bool);
crate::simple_type!(TrueFalseIndicator);
impl Validate for TrueFalseIndicator {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(PartialEq, Debug, Clone, YaSerialize, YaDeserialize)]#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.090.001.01")]
pub enum UnderlyingIdentification1Code {
#[yaserde(rename = "UKWN")]
#[cfg_attr(feature = "serde", serde(rename = "UKWN"))]
Ukwn,
#[yaserde(rename = "BSKT")]
#[cfg_attr(feature = "serde", serde(rename = "BSKT"))]
Bskt,
#[yaserde(rename = "INDX")]
#[cfg_attr(feature = "serde", serde(rename = "INDX"))]
Indx,
__Unknown__(String),
}
impl Default for UnderlyingIdentification1Code {
fn default() -> UnderlyingIdentification1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for UnderlyingIdentification1Code {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::auth;
const FUNCTIONALITY: &'static str = "090";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "01";
const MESSAGE_NAME: &'static str = "auth.090.001.01";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.090.001.01";
}