#![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 ActiveOrHistoricCurrencyAndAmountSimpleType (pub String);
crate::simple_type!(ActiveOrHistoricCurrencyAndAmountSimpleType);
impl Validate for ActiveOrHistoricCurrencyAndAmountSimpleType {
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.071.001.02")]
pub struct ActiveOrHistoricCurrencyAndAmount {
#[yaserde(text)]
pub value: String,
#[yaserde(attribute, rename = "Ccy")]
#[cfg_attr(feature = "serde", serde(rename = "Ccy"))]
pub ccy: ActiveOrHistoricCurrencyCode,
}
impl Validate for ActiveOrHistoricCurrencyAndAmount {}
#[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, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.071.001.02")]
pub struct AmountAndDirection53 {
#[yaserde(rename = "Amt")]
#[cfg_attr(feature = "serde", serde(rename = "Amt"))]
pub amt: ActiveOrHistoricCurrencyAndAmount,
#[yaserde(rename = "Sgn")]
#[cfg_attr(feature = "serde", serde(rename = "Sgn"))]
pub sgn: PlusOrMinusIndicator,
}
impl Validate for AmountAndDirection53 {}
#[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(Default, Clone, PartialEq, Debug, YaSerialize, YaDeserialize)]
#[yaserde(prefix = "n", default_namespace = "n", namespace = "n: urn:iso:std:iso:20022:tech:xsd:auth.071.001.02")]
pub struct CashReuseData1 {
#[yaserde(rename = "RinvstdCsh")]
#[cfg_attr(feature = "serde", serde(rename = "RinvstdCsh"))]
pub rinvstd_csh: Vec<ReinvestedCashTypeAndAmount1>,
#[yaserde(rename = "CshRinvstmtRate")]
#[cfg_attr(feature = "serde", serde(rename = "CshRinvstmtRate"))]
pub csh_rinvstmt_rate: PercentageRate,
}
impl Validate for CashReuseData1 {}
#[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.071.001.02")]
pub struct CollateralType19 {
#[yaserde(rename = "Scty")]
#[cfg_attr(feature = "serde", serde(rename = "Scty"))]
pub scty: Vec<SecurityReuseData1>,
#[yaserde(rename = "Csh")]
#[cfg_attr(feature = "serde", serde(rename = "Csh"))]
pub csh: Vec<CashReuseData1>,
}
impl Validate for CollateralType19 {}
#[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.071.001.02")]
pub struct CounterpartyData87 {
#[yaserde(rename = "RptSubmitgNtty")]
#[cfg_attr(feature = "serde", serde(rename = "RptSubmitgNtty"))]
pub rpt_submitg_ntty: OrganisationIdentification15Choice,
#[yaserde(rename = "RptgCtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "RptgCtrPty"))]
pub rptg_ctr_pty: OrganisationIdentification15Choice,
#[yaserde(rename = "NttyRspnsblForRpt")]
#[cfg_attr(feature = "serde", serde(rename = "NttyRspnsblForRpt"))]
pub ntty_rspnsbl_for_rpt: OrganisationIdentification15Choice,
}
impl Validate for CounterpartyData87 {}
#[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.071.001.02")]
pub struct Document {
#[yaserde(rename = "SctiesFincgRptgTxReusdCollDataRpt")]
#[cfg_attr(feature = "serde", serde(rename = "SctiesFincgRptgTxReusdCollDataRpt"))]
pub scties_fincg_rptg_tx_reusd_coll_data_rpt: SecuritiesFinancingReportingTransactionReusedCollateralDataReportV02,
}
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.071.001.02")]
pub struct FundingSource3 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: FundingSourceType1Code,
#[yaserde(rename = "MktVal")]
#[cfg_attr(feature = "serde", serde(rename = "MktVal"))]
pub mkt_val: AmountAndDirection53,
}
impl Validate for FundingSource3 {}
#[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.071.001.02")]
pub enum FundingSourceType1Code {
#[yaserde(rename = "SECL")]
#[cfg_attr(feature = "serde", serde(rename = "SECL"))]
Secl,
#[yaserde(rename = "FREE")]
#[cfg_attr(feature = "serde", serde(rename = "FREE"))]
Free,
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "BSHS")]
#[cfg_attr(feature = "serde", serde(rename = "BSHS"))]
Bshs,
#[yaserde(rename = "CSHS")]
#[cfg_attr(feature = "serde", serde(rename = "CSHS"))]
Cshs,
#[yaserde(rename = "REPO")]
#[cfg_attr(feature = "serde", serde(rename = "REPO"))]
Repo,
#[yaserde(rename = "UBOR")]
#[cfg_attr(feature = "serde", serde(rename = "UBOR"))]
Ubor,
__Unknown__(String),
}
impl Default for FundingSourceType1Code {
fn default() -> FundingSourceType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for FundingSourceType1Code {}
#[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.071.001.02")]
pub struct GenericIdentification175 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: Max72Text,
#[yaserde(rename = "SchmeNm")]
#[cfg_attr(feature = "serde", serde(rename = "SchmeNm"))]
pub schme_nm: Max35Text,
#[yaserde(rename = "Issr")]
#[cfg_attr(feature = "serde", serde(rename = "Issr"))]
pub issr: Max35Text,
}
impl Validate for GenericIdentification175 {}
#[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 IsodateTime (pub String);
crate::simple_type!(IsodateTime);
impl Validate for IsodateTime {}
#[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)]
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 Max140Text (pub String);
crate::simple_type!(Max140Text);
impl Validate for Max140Text {
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() > 140 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 140 \nActual: 0 length == {}", self.0.len()));
}
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 Max35Text (pub String);
crate::simple_type!(Max35Text);
impl Validate for Max35Text {
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() > 35 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 35 \nActual: 0 length == {}", self.0.len()));
}
Ok(())
}
}
#[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 Max72Text (pub String);
crate::simple_type!(Max72Text);
impl Validate for Max72Text {
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() > 72 {
return Err(format!("MaxLength validation error. \nExpected: 0 length <= 72 \nActual: 0 length == {}", self.0.len()));
}
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.071.001.02")]
pub struct OrganisationIdentification15Choice {
#[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<OrganisationIdentification38>,
#[yaserde(rename = "AnyBIC")]
#[cfg_attr(feature = "serde", serde(rename = "AnyBIC"))]
pub any_b_i_c: Option<AnyBICDec2014Identifier>,
}
impl Validate for OrganisationIdentification15Choice {}
#[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.071.001.02")]
pub struct OrganisationIdentification38 {
#[yaserde(rename = "Id")]
#[cfg_attr(feature = "serde", serde(rename = "Id"))]
pub id: GenericIdentification175,
#[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 OrganisationIdentification38 {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PercentageRate (pub String);
crate::simple_type!(PercentageRate);
impl Validate for PercentageRate {}
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[derive(Default, Clone, PartialEq, Debug)]
pub struct PlusOrMinusIndicator (pub bool);
crate::simple_type!(PlusOrMinusIndicator);
impl Validate for PlusOrMinusIndicator {}
#[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.071.001.02")]
pub struct ReinvestedCashTypeAndAmount1 {
#[yaserde(rename = "Tp")]
#[cfg_attr(feature = "serde", serde(rename = "Tp"))]
pub tp: ReinvestmentType1Code,
#[yaserde(rename = "RinvstdCshAmt")]
#[cfg_attr(feature = "serde", serde(rename = "RinvstdCshAmt"))]
pub rinvstd_csh_amt: ActiveOrHistoricCurrencyAndAmount,
}
impl Validate for ReinvestedCashTypeAndAmount1 {}
#[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.071.001.02")]
pub enum ReinvestmentType1Code {
#[yaserde(rename = "OTHR")]
#[cfg_attr(feature = "serde", serde(rename = "OTHR"))]
Othr,
#[yaserde(rename = "OCMP")]
#[cfg_attr(feature = "serde", serde(rename = "OCMP"))]
Ocmp,
#[yaserde(rename = "MMFT")]
#[cfg_attr(feature = "serde", serde(rename = "MMFT"))]
Mmft,
#[yaserde(rename = "REPM")]
#[cfg_attr(feature = "serde", serde(rename = "REPM"))]
Repm,
#[yaserde(rename = "SDPU")]
#[cfg_attr(feature = "serde", serde(rename = "SDPU"))]
Sdpu,
__Unknown__(String),
}
impl Default for ReinvestmentType1Code {
fn default() -> ReinvestmentType1Code {
Self::__Unknown__("No valid variants".into())
}
}
impl Validate for ReinvestmentType1Code {}
#[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.071.001.02")]
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.071.001.02")]
pub struct ReuseDataReport6Choice {
#[yaserde(rename = "New")]
#[cfg_attr(feature = "serde", serde(rename = "New"))]
pub new: Option<ReuseDataReportNew6>,
#[yaserde(rename = "Err")]
#[cfg_attr(feature = "serde", serde(rename = "Err"))]
pub err: Option<ReuseDataReportError5>,
#[yaserde(rename = "Crrctn")]
#[cfg_attr(feature = "serde", serde(rename = "Crrctn"))]
pub crrctn: Option<ReuseDataReportCorrection14>,
#[yaserde(rename = "CollReuseUpd")]
#[cfg_attr(feature = "serde", serde(rename = "CollReuseUpd"))]
pub coll_reuse_upd: Option<ReuseDataReportCorrection14>,
}
impl Validate for ReuseDataReport6Choice {}
#[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.071.001.02")]
pub struct ReuseDataReportCorrection14 {
#[yaserde(rename = "TechRcrdId")]
#[cfg_attr(feature = "serde", serde(rename = "TechRcrdId"))]
pub tech_rcrd_id: Max140Text,
#[yaserde(rename = "RptgDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "RptgDtTm"))]
pub rptg_dt_tm: IsodateTime,
#[yaserde(rename = "CtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPty"))]
pub ctr_pty: CounterpartyData87,
#[yaserde(rename = "CollCmpnt")]
#[cfg_attr(feature = "serde", serde(rename = "CollCmpnt"))]
pub coll_cmpnt: Vec<CollateralType19>,
#[yaserde(rename = "EvtDay")]
#[cfg_attr(feature = "serde", serde(rename = "EvtDay"))]
pub evt_day: Isodate,
#[yaserde(rename = "FndgSrc")]
#[cfg_attr(feature = "serde", serde(rename = "FndgSrc"))]
pub fndg_src: Vec<FundingSource3>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ReuseDataReportCorrection14 {}
#[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.071.001.02")]
pub struct ReuseDataReportError5 {
#[yaserde(rename = "TechRcrdId")]
#[cfg_attr(feature = "serde", serde(rename = "TechRcrdId"))]
pub tech_rcrd_id: Max140Text,
#[yaserde(rename = "RptgDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "RptgDtTm"))]
pub rptg_dt_tm: IsodateTime,
#[yaserde(rename = "CtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPty"))]
pub ctr_pty: CounterpartyData87,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ReuseDataReportError5 {}
#[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.071.001.02")]
pub struct ReuseDataReportNew6 {
#[yaserde(rename = "TechRcrdId")]
#[cfg_attr(feature = "serde", serde(rename = "TechRcrdId"))]
pub tech_rcrd_id: Max140Text,
#[yaserde(rename = "RptgDtTm")]
#[cfg_attr(feature = "serde", serde(rename = "RptgDtTm"))]
pub rptg_dt_tm: IsodateTime,
#[yaserde(rename = "CtrPty")]
#[cfg_attr(feature = "serde", serde(rename = "CtrPty"))]
pub ctr_pty: CounterpartyData87,
#[yaserde(rename = "CollCmpnt")]
#[cfg_attr(feature = "serde", serde(rename = "CollCmpnt"))]
pub coll_cmpnt: Vec<CollateralType19>,
#[yaserde(rename = "EvtDay")]
#[cfg_attr(feature = "serde", serde(rename = "EvtDay"))]
pub evt_day: Isodate,
#[yaserde(rename = "FndgSrc")]
#[cfg_attr(feature = "serde", serde(rename = "FndgSrc"))]
pub fndg_src: Vec<FundingSource3>,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for ReuseDataReportNew6 {}
#[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.071.001.02")]
pub struct ReuseValue1Choice {
#[yaserde(rename = "Actl")]
#[cfg_attr(feature = "serde", serde(rename = "Actl"))]
pub actl: Option<ActiveOrHistoricCurrencyAndAmount>,
#[yaserde(rename = "Estmtd")]
#[cfg_attr(feature = "serde", serde(rename = "Estmtd"))]
pub estmtd: Option<ActiveOrHistoricCurrencyAndAmount>,
}
impl Validate for ReuseValue1Choice {}
#[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.071.001.02")]
pub struct SecuritiesFinancingReportingTransactionReusedCollateralDataReportV02 {
#[yaserde(rename = "TradData")]
#[cfg_attr(feature = "serde", serde(rename = "TradData"))]
pub trad_data: TradeData36Choice,
#[yaserde(rename = "SplmtryData")]
#[cfg_attr(feature = "serde", serde(rename = "SplmtryData"))]
pub splmtry_data: Vec<SupplementaryData1>,
}
impl Validate for SecuritiesFinancingReportingTransactionReusedCollateralDataReportV02 {}
#[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.071.001.02")]
pub struct SecurityReuseData1 {
#[yaserde(rename = "ISIN")]
#[cfg_attr(feature = "serde", serde(rename = "ISIN"))]
pub isin: Isinoct2015Identifier,
#[yaserde(rename = "ReuseVal")]
#[cfg_attr(feature = "serde", serde(rename = "ReuseVal"))]
pub reuse_val: ReuseValue1Choice,
}
impl Validate for SecurityReuseData1 {}
#[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.071.001.02")]
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.071.001.02")]
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.071.001.02")]
pub struct TradeData36Choice {
#[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: Vec<ReuseDataReport6Choice>,
}
impl Validate for TradeData36Choice {}
impl crate::MxMessage for Document {
const BUSINESS_AREA: crate::BusinessArea = crate::BusinessArea::auth;
const FUNCTIONALITY: &'static str = "071";
const VARIANT: &'static str = "001";
const VERSION: &'static str = "02";
const MESSAGE_NAME: &'static str = "auth.071.001.02";
const NAMESPACE: &'static str = "urn:iso:std:iso:20022:tech:xsd:auth.071.001.02";
}