lusid-sdk 2.1.747__py3-none-any.whl → 2.1.749__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. lusid/api/entities_api.py +12 -12
  2. lusid/api/transaction_portfolios_api.py +17 -8
  3. lusid/configuration.py +1 -1
  4. lusid/models/access_metadata_operation.py +52 -0
  5. lusid/models/account.py +52 -0
  6. lusid/models/accumulation_event.py +52 -0
  7. lusid/models/address_definition.py +52 -0
  8. lusid/models/address_key_compliance_parameter.py +52 -0
  9. lusid/models/address_key_list.py +52 -0
  10. lusid/models/address_key_list_compliance_parameter.py +52 -0
  11. lusid/models/adjust_global_commitment_event.py +52 -0
  12. lusid/models/aggregate_spec.py +52 -0
  13. lusid/models/aggregation_query.py +104 -0
  14. lusid/models/amortisation_event.py +52 -0
  15. lusid/models/append_fx_forward_curve_by_quote_reference.py +52 -0
  16. lusid/models/append_fx_forward_curve_data.py +52 -0
  17. lusid/models/append_fx_forward_pips_curve_data.py +52 -0
  18. lusid/models/append_fx_forward_tenor_curve_data.py +52 -0
  19. lusid/models/append_fx_forward_tenor_pips_curve_data.py +52 -0
  20. lusid/models/append_market_data.py +52 -0
  21. lusid/models/basket.py +52 -0
  22. lusid/models/bond.py +52 -0
  23. lusid/models/bond_conversion_schedule.py +52 -0
  24. lusid/models/bond_coupon_event.py +52 -0
  25. lusid/models/bond_default_event.py +52 -0
  26. lusid/models/bond_principal_event.py +52 -0
  27. lusid/models/bonus_issue_event.py +52 -0
  28. lusid/models/bool_compliance_parameter.py +52 -0
  29. lusid/models/bool_list_compliance_parameter.py +52 -0
  30. lusid/models/branch_step.py +52 -0
  31. lusid/models/branch_step_request.py +52 -0
  32. lusid/models/calendar_dependency.py +52 -0
  33. lusid/models/call_on_intermediate_securities_event.py +52 -0
  34. lusid/models/cap_floor.py +52 -0
  35. lusid/models/capital_distribution_event.py +52 -0
  36. lusid/models/cash.py +52 -0
  37. lusid/models/cash_dependency.py +52 -0
  38. lusid/models/cash_dividend_event.py +52 -0
  39. lusid/models/cash_flow_event.py +52 -0
  40. lusid/models/cash_flow_value.py +52 -0
  41. lusid/models/cash_flow_value_set.py +52 -0
  42. lusid/models/cash_perpetual.py +52 -0
  43. lusid/models/cds_credit_event.py +52 -0
  44. lusid/models/cds_index.py +52 -0
  45. lusid/models/cdx_credit_event.py +52 -0
  46. lusid/models/change_history.py +52 -0
  47. lusid/models/check_step.py +52 -0
  48. lusid/models/check_step_request.py +52 -0
  49. lusid/models/close_event.py +52 -0
  50. lusid/models/complete_portfolio.py +52 -0
  51. lusid/models/complex_bond.py +52 -0
  52. lusid/models/complex_market_data.py +52 -0
  53. lusid/models/compliance_parameter.py +52 -0
  54. lusid/models/compliance_step.py +52 -0
  55. lusid/models/compliance_step_request.py +52 -0
  56. lusid/models/constant_volatility_surface.py +52 -0
  57. lusid/models/contract_for_difference.py +52 -0
  58. lusid/models/contract_initialisation_event.py +52 -0
  59. lusid/models/create_data_type_request.py +156 -0
  60. lusid/models/create_derived_property_definition_request.py +52 -0
  61. lusid/models/create_derived_transaction_portfolio_request.py +52 -0
  62. lusid/models/create_identifier_definition_request.py +104 -0
  63. lusid/models/create_property_definition_request.py +104 -0
  64. lusid/models/create_simple_position_portfolio_request.py +52 -0
  65. lusid/models/create_transaction_portfolio_request.py +52 -0
  66. lusid/models/credit_default_swap.py +52 -0
  67. lusid/models/credit_premium_cash_flow_event.py +52 -0
  68. lusid/models/credit_spread_curve_data.py +52 -0
  69. lusid/models/curve_options.py +52 -0
  70. lusid/models/data_type.py +156 -0
  71. lusid/models/data_type_summary.py +156 -0
  72. lusid/models/date_time_compliance_parameter.py +52 -0
  73. lusid/models/date_time_list_compliance_parameter.py +52 -0
  74. lusid/models/decimal_compliance_parameter.py +52 -0
  75. lusid/models/decimal_list.py +52 -0
  76. lusid/models/decimal_list_compliance_parameter.py +52 -0
  77. lusid/models/deposit_close_event.py +52 -0
  78. lusid/models/deposit_interest_payment_event.py +52 -0
  79. lusid/models/discount_factor_curve_data.py +52 -0
  80. lusid/models/discounting_dependency.py +52 -0
  81. lusid/models/dividend_option_event.py +52 -0
  82. lusid/models/dividend_reinvestment_event.py +52 -0
  83. lusid/models/drawdown_event.py +52 -0
  84. lusid/models/early_redemption_event.py +52 -0
  85. lusid/models/economic_dependency.py +52 -0
  86. lusid/models/empty_model_options.py +52 -0
  87. lusid/models/equity.py +52 -0
  88. lusid/models/equity_curve_by_prices_data.py +52 -0
  89. lusid/models/equity_curve_dependency.py +52 -0
  90. lusid/models/equity_model_options.py +52 -0
  91. lusid/models/equity_option.py +52 -0
  92. lusid/models/equity_swap.py +52 -0
  93. lusid/models/equity_vol_dependency.py +52 -0
  94. lusid/models/equity_vol_surface_data.py +52 -0
  95. lusid/models/exchange_traded_option.py +52 -0
  96. lusid/models/exercise_event.py +52 -0
  97. lusid/models/exotic_instrument.py +52 -0
  98. lusid/models/expiry_event.py +52 -0
  99. lusid/models/field_schema.py +52 -0
  100. lusid/models/filter_predicate_compliance_parameter.py +52 -0
  101. lusid/models/filter_step.py +52 -0
  102. lusid/models/filter_step_request.py +52 -0
  103. lusid/models/fixed_leg.py +52 -0
  104. lusid/models/fixed_schedule.py +52 -0
  105. lusid/models/flexible_deposit.py +52 -0
  106. lusid/models/flexible_loan.py +52 -0
  107. lusid/models/float_schedule.py +52 -0
  108. lusid/models/floating_leg.py +52 -0
  109. lusid/models/forward_rate_agreement.py +52 -0
  110. lusid/models/fund_id_list.py +52 -0
  111. lusid/models/fund_share_class.py +52 -0
  112. lusid/models/funding_leg.py +52 -0
  113. lusid/models/funding_leg_options.py +52 -0
  114. lusid/models/future.py +52 -0
  115. lusid/models/future_expiry_event.py +52 -0
  116. lusid/models/future_mark_to_market_event.py +52 -0
  117. lusid/models/fx_dependency.py +52 -0
  118. lusid/models/fx_forward.py +52 -0
  119. lusid/models/fx_forward_curve_by_quote_reference.py +52 -0
  120. lusid/models/fx_forward_curve_data.py +52 -0
  121. lusid/models/fx_forward_model_options.py +156 -0
  122. lusid/models/fx_forward_pips_curve_data.py +52 -0
  123. lusid/models/fx_forward_settlement_event.py +52 -0
  124. lusid/models/fx_forward_tenor_curve_data.py +52 -0
  125. lusid/models/fx_forward_tenor_pips_curve_data.py +52 -0
  126. lusid/models/fx_forwards_dependency.py +52 -0
  127. lusid/models/fx_linked_notional_schedule.py +52 -0
  128. lusid/models/fx_option.py +52 -0
  129. lusid/models/fx_rate_schedule.py +52 -0
  130. lusid/models/fx_swap.py +52 -0
  131. lusid/models/fx_vol_dependency.py +52 -0
  132. lusid/models/fx_vol_surface_data.py +52 -0
  133. lusid/models/get_reference_portfolio_constituents_response.py +104 -0
  134. lusid/models/group_by_selector_compliance_parameter.py +52 -0
  135. lusid/models/group_by_step.py +52 -0
  136. lusid/models/group_by_step_request.py +52 -0
  137. lusid/models/group_calculation_compliance_parameter.py +52 -0
  138. lusid/models/group_filter_predicate_compliance_parameter.py +52 -0
  139. lusid/models/group_filter_step.py +52 -0
  140. lusid/models/group_filter_step_request.py +52 -0
  141. lusid/models/holdings_adjustment.py +52 -0
  142. lusid/models/holdings_adjustment_header.py +52 -0
  143. lusid/models/i_unit_definition_dto.py +52 -0
  144. lusid/models/identifier_definition.py +104 -0
  145. lusid/models/index_model_options.py +104 -0
  146. lusid/models/index_projection_dependency.py +52 -0
  147. lusid/models/inflation_fixing_dependency.py +52 -0
  148. lusid/models/inflation_leg.py +52 -0
  149. lusid/models/inflation_linked_bond.py +52 -0
  150. lusid/models/inflation_swap.py +52 -0
  151. lusid/models/informational_error_event.py +52 -0
  152. lusid/models/informational_event.py +52 -0
  153. lusid/models/instrument.py +104 -0
  154. lusid/models/instrument_event.py +52 -0
  155. lusid/models/instrument_leg.py +52 -0
  156. lusid/models/instrument_list.py +52 -0
  157. lusid/models/instrument_list_compliance_parameter.py +52 -0
  158. lusid/models/interest_rate_swap.py +52 -0
  159. lusid/models/interest_rate_swaption.py +52 -0
  160. lusid/models/intermediate_compliance_step.py +52 -0
  161. lusid/models/intermediate_compliance_step_request.py +52 -0
  162. lusid/models/intermediate_securities_distribution_event.py +52 -0
  163. lusid/models/ir_vol_cube_data.py +52 -0
  164. lusid/models/ir_vol_dependency.py +52 -0
  165. lusid/models/life_cycle_event_value.py +52 -0
  166. lusid/models/loan_facility.py +52 -0
  167. lusid/models/loan_interest_repayment_event.py +52 -0
  168. lusid/models/loan_principal_repayment_event.py +52 -0
  169. lusid/models/lusid_instrument.py +52 -0
  170. lusid/models/lusid_trade_ticket.py +52 -0
  171. lusid/models/market_data_key_rule.py +52 -0
  172. lusid/models/market_data_options.py +52 -0
  173. lusid/models/market_data_specific_rule.py +52 -0
  174. lusid/models/market_quote.py +52 -0
  175. lusid/models/mastered_instrument.py +52 -0
  176. lusid/models/match_criterion.py +52 -0
  177. lusid/models/maturity_event.py +52 -0
  178. lusid/models/mbs_coupon_event.py +52 -0
  179. lusid/models/mbs_interest_deferral_event.py +52 -0
  180. lusid/models/mbs_interest_shortfall_event.py +52 -0
  181. lusid/models/mbs_principal_event.py +52 -0
  182. lusid/models/mbs_principal_write_off_event.py +52 -0
  183. lusid/models/merger_event.py +52 -0
  184. lusid/models/model_options.py +52 -0
  185. lusid/models/model_selection.py +104 -0
  186. lusid/models/opaque_dependency.py +52 -0
  187. lusid/models/opaque_market_data.py +52 -0
  188. lusid/models/opaque_model_options.py +52 -0
  189. lusid/models/open_event.py +52 -0
  190. lusid/models/option_exercise_cash_event.py +52 -0
  191. lusid/models/option_exercise_physical_event.py +52 -0
  192. lusid/models/optionality_schedule.py +52 -0
  193. lusid/models/order_by_spec.py +52 -0
  194. lusid/models/output_transaction.py +52 -0
  195. lusid/models/percent_check_step.py +52 -0
  196. lusid/models/percent_check_step_request.py +52 -0
  197. lusid/models/portfolio.py +104 -0
  198. lusid/models/portfolio_details.py +52 -0
  199. lusid/models/portfolio_group_id_compliance_parameter.py +52 -0
  200. lusid/models/portfolio_group_id_list.py +52 -0
  201. lusid/models/portfolio_group_id_list_compliance_parameter.py +52 -0
  202. lusid/models/portfolio_id_compliance_parameter.py +52 -0
  203. lusid/models/portfolio_id_list.py +52 -0
  204. lusid/models/portfolio_id_list_compliance_parameter.py +52 -0
  205. lusid/models/portfolio_result_data_key_rule.py +52 -0
  206. lusid/models/portfolio_search_result.py +52 -0
  207. lusid/models/portfolio_without_href.py +104 -0
  208. lusid/models/property_definition.py +312 -0
  209. lusid/models/property_definition_search_result.py +312 -0
  210. lusid/models/property_filter.py +104 -0
  211. lusid/models/property_key_compliance_parameter.py +52 -0
  212. lusid/models/property_key_list_compliance_parameter.py +52 -0
  213. lusid/models/property_list.py +52 -0
  214. lusid/models/property_list_compliance_parameter.py +52 -0
  215. lusid/models/property_value_equals.py +52 -0
  216. lusid/models/property_value_in.py +52 -0
  217. lusid/models/protection_payout_cash_flow_event.py +52 -0
  218. lusid/models/quote_dependency.py +52 -0
  219. lusid/models/quote_series_id.py +104 -0
  220. lusid/models/raw_vendor_event.py +52 -0
  221. lusid/models/recombine_step.py +52 -0
  222. lusid/models/reconcile_date_time_rule.py +104 -0
  223. lusid/models/reconcile_numeric_rule.py +104 -0
  224. lusid/models/reconcile_string_rule.py +104 -0
  225. lusid/models/reconciliation_rule.py +52 -0
  226. lusid/models/reference_instrument.py +52 -0
  227. lusid/models/reference_list.py +52 -0
  228. lusid/models/repo.py +52 -0
  229. lusid/models/reset_event.py +52 -0
  230. lusid/models/resource_list_of_value_type.py +1 -1
  231. lusid/models/result_data_key_rule.py +52 -0
  232. lusid/models/result_key_rule.py +52 -0
  233. lusid/models/result_value.py +52 -0
  234. lusid/models/result_value0_d.py +52 -0
  235. lusid/models/result_value_bool.py +52 -0
  236. lusid/models/result_value_currency.py +52 -0
  237. lusid/models/result_value_date_time_offset.py +52 -0
  238. lusid/models/result_value_decimal.py +52 -0
  239. lusid/models/result_value_dictionary.py +52 -0
  240. lusid/models/result_value_int.py +52 -0
  241. lusid/models/result_value_string.py +52 -0
  242. lusid/models/reverse_stock_split_event.py +52 -0
  243. lusid/models/schedule.py +52 -0
  244. lusid/models/scrip_dividend_event.py +52 -0
  245. lusid/models/simple_cash_flow_loan.py +52 -0
  246. lusid/models/simple_instrument.py +104 -0
  247. lusid/models/spin_off_event.py +52 -0
  248. lusid/models/step_schedule.py +52 -0
  249. lusid/models/stock_dividend_event.py +52 -0
  250. lusid/models/stock_split_event.py +52 -0
  251. lusid/models/string_compliance_parameter.py +52 -0
  252. lusid/models/string_list.py +52 -0
  253. lusid/models/string_list_compliance_parameter.py +52 -0
  254. lusid/models/sub_holding_key_value_equals.py +52 -0
  255. lusid/models/swap_cash_flow_event.py +52 -0
  256. lusid/models/swap_principal_event.py +52 -0
  257. lusid/models/tender_event.py +52 -0
  258. lusid/models/term_deposit.py +52 -0
  259. lusid/models/term_deposit_interest_event.py +52 -0
  260. lusid/models/term_deposit_principal_event.py +52 -0
  261. lusid/models/total_return_swap.py +52 -0
  262. lusid/models/trade_ticket.py +52 -0
  263. lusid/models/transaction.py +52 -0
  264. lusid/models/transaction_configuration_movement_data.py +52 -0
  265. lusid/models/transaction_configuration_movement_data_request.py +52 -0
  266. lusid/models/transaction_configuration_type_alias.py +52 -0
  267. lusid/models/transaction_price.py +52 -0
  268. lusid/models/transaction_query_parameters.py +52 -0
  269. lusid/models/transition_event.py +52 -0
  270. lusid/models/trigger_event.py +52 -0
  271. lusid/models/update_deposit_amount_event.py +52 -0
  272. lusid/models/upsert_reference_portfolio_constituents_request.py +104 -0
  273. lusid/models/vendor_dependency.py +52 -0
  274. lusid/models/vendor_model_rule.py +52 -0
  275. lusid/models/weekend_mask.py +1 -1
  276. lusid/models/yield_curve_data.py +52 -0
  277. {lusid_sdk-2.1.747.dist-info → lusid_sdk-2.1.749.dist-info}/METADATA +7 -7
  278. {lusid_sdk-2.1.747.dist-info → lusid_sdk-2.1.749.dist-info}/RECORD +279 -279
  279. {lusid_sdk-2.1.747.dist-info → lusid_sdk-2.1.749.dist-info}/WHEEL +0 -0
@@ -37,6 +37,58 @@ class ContractInitialisationEvent(InstrumentEvent):
37
37
  @validator('instrument_event_type')
38
38
  def instrument_event_type_validate_enum(cls, value):
39
39
  """Validates the enum"""
40
+
41
+ # Finbourne have removed enum validation on all models, except for this use case:
42
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
43
+ # During instantiation, the value of 'type' is checked against the enum values,
44
+
45
+
46
+ # check it's a class that uses the 'type' property as a discriminator
47
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
48
+ if 'ContractInitialisationEvent' not in [
49
+ # For notification application classes
50
+ 'AmazonSqsNotificationType',
51
+ 'AmazonSqsNotificationTypeResponse',
52
+ 'AmazonSqsPrincipalAuthNotificationType',
53
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
54
+ 'AzureServiceBusTypeResponse',
55
+ 'AzureServiceBusNotificationType',
56
+ 'EmailNotificationType',
57
+ 'EmailNotificationTypeResponse',
58
+ 'SmsNotificationType',
59
+ 'SmsNotificationTypeResponse',
60
+ 'WebhookNotificationType',
61
+ 'WebhookNotificationTypeResponse',
62
+
63
+ # For workflow application classes
64
+ 'CreateChildTasksAction',
65
+ 'RunWorkerAction',
66
+ 'TriggerParentTaskAction',
67
+ 'CreateChildTasksActionResponse',
68
+ 'RunWorkerActionResponse',
69
+ 'TriggerParentTaskActionResponse',
70
+ 'CreateNewTaskActivity',
71
+ 'UpdateMatchingTasksActivity',
72
+ 'CreateNewTaskActivityResponse',
73
+ 'UpdateMatchingTasksActivityResponse',
74
+ 'Fail',
75
+ 'GroupReconciliation',
76
+ 'HealthCheck',
77
+ 'LuminesceView',
78
+ 'SchedulerJob',
79
+ 'Sleep',
80
+ 'FailResponse',
81
+ 'GroupReconciliationResponse',
82
+ 'HealthCheckResponse',
83
+ 'LuminesceViewResponse',
84
+ 'SchedulerJobResponse',
85
+ 'SleepResponse']:
86
+ return value
87
+
88
+ # Only validate the 'type' property of the class
89
+ if "instrument_event_type" != "type":
90
+ return value
91
+
40
92
  if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent', 'CreditPremiumCashFlowEvent', 'CdsCreditEvent', 'CdxCreditEvent', 'MbsCouponEvent', 'MbsPrincipalEvent', 'BonusIssueEvent', 'MbsPrincipalWriteOffEvent', 'MbsInterestDeferralEvent', 'MbsInterestShortfallEvent', 'TenderEvent', 'CallOnIntermediateSecuritiesEvent', 'IntermediateSecuritiesDistributionEvent', 'OptionExercisePhysicalEvent', 'OptionExerciseCashEvent', 'ProtectionPayoutCashFlowEvent', 'TermDepositInterestEvent', 'TermDepositPrincipalEvent', 'EarlyRedemptionEvent', 'FutureMarkToMarketEvent', 'AdjustGlobalCommitmentEvent', 'ContractInitialisationEvent', 'DrawdownEvent', 'LoanInterestRepaymentEvent', 'UpdateDepositAmountEvent', 'LoanPrincipalRepaymentEvent', 'DepositInterestPaymentEvent', 'DepositCloseEvent'):
41
93
  raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent', 'ScripDividendEvent', 'StockDividendEvent', 'ReverseStockSplitEvent', 'CapitalDistributionEvent', 'SpinOffEvent', 'MergerEvent', 'FutureExpiryEvent', 'SwapCashFlowEvent', 'SwapPrincipalEvent', 'CreditPremiumCashFlowEvent', 'CdsCreditEvent', 'CdxCreditEvent', 'MbsCouponEvent', 'MbsPrincipalEvent', 'BonusIssueEvent', 'MbsPrincipalWriteOffEvent', 'MbsInterestDeferralEvent', 'MbsInterestShortfallEvent', 'TenderEvent', 'CallOnIntermediateSecuritiesEvent', 'IntermediateSecuritiesDistributionEvent', 'OptionExercisePhysicalEvent', 'OptionExerciseCashEvent', 'ProtectionPayoutCashFlowEvent', 'TermDepositInterestEvent', 'TermDepositPrincipalEvent', 'EarlyRedemptionEvent', 'FutureMarkToMarketEvent', 'AdjustGlobalCommitmentEvent', 'ContractInitialisationEvent', 'DrawdownEvent', 'LoanInterestRepaymentEvent', 'UpdateDepositAmountEvent', 'LoanPrincipalRepaymentEvent', 'DepositInterestPaymentEvent', 'DepositCloseEvent')")
42
94
  return value
@@ -42,6 +42,58 @@ class CreateDataTypeRequest(BaseModel):
42
42
  @validator('type_value_range')
43
43
  def type_value_range_validate_enum(cls, value):
44
44
  """Validates the enum"""
45
+
46
+ # Finbourne have removed enum validation on all models, except for this use case:
47
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
48
+ # During instantiation, the value of 'type' is checked against the enum values,
49
+
50
+
51
+ # check it's a class that uses the 'type' property as a discriminator
52
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
53
+ if 'CreateDataTypeRequest' not in [
54
+ # For notification application classes
55
+ 'AmazonSqsNotificationType',
56
+ 'AmazonSqsNotificationTypeResponse',
57
+ 'AmazonSqsPrincipalAuthNotificationType',
58
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
59
+ 'AzureServiceBusTypeResponse',
60
+ 'AzureServiceBusNotificationType',
61
+ 'EmailNotificationType',
62
+ 'EmailNotificationTypeResponse',
63
+ 'SmsNotificationType',
64
+ 'SmsNotificationTypeResponse',
65
+ 'WebhookNotificationType',
66
+ 'WebhookNotificationTypeResponse',
67
+
68
+ # For workflow application classes
69
+ 'CreateChildTasksAction',
70
+ 'RunWorkerAction',
71
+ 'TriggerParentTaskAction',
72
+ 'CreateChildTasksActionResponse',
73
+ 'RunWorkerActionResponse',
74
+ 'TriggerParentTaskActionResponse',
75
+ 'CreateNewTaskActivity',
76
+ 'UpdateMatchingTasksActivity',
77
+ 'CreateNewTaskActivityResponse',
78
+ 'UpdateMatchingTasksActivityResponse',
79
+ 'Fail',
80
+ 'GroupReconciliation',
81
+ 'HealthCheck',
82
+ 'LuminesceView',
83
+ 'SchedulerJob',
84
+ 'Sleep',
85
+ 'FailResponse',
86
+ 'GroupReconciliationResponse',
87
+ 'HealthCheckResponse',
88
+ 'LuminesceViewResponse',
89
+ 'SchedulerJobResponse',
90
+ 'SleepResponse']:
91
+ return value
92
+
93
+ # Only validate the 'type' property of the class
94
+ if "type_value_range" != "type":
95
+ return value
96
+
45
97
  if value not in ('Open', 'Closed'):
46
98
  raise ValueError("must be one of enum values ('Open', 'Closed')")
47
99
  return value
@@ -49,6 +101,58 @@ class CreateDataTypeRequest(BaseModel):
49
101
  @validator('value_type')
50
102
  def value_type_validate_enum(cls, value):
51
103
  """Validates the enum"""
104
+
105
+ # Finbourne have removed enum validation on all models, except for this use case:
106
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
107
+ # During instantiation, the value of 'type' is checked against the enum values,
108
+
109
+
110
+ # check it's a class that uses the 'type' property as a discriminator
111
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
112
+ if 'CreateDataTypeRequest' not in [
113
+ # For notification application classes
114
+ 'AmazonSqsNotificationType',
115
+ 'AmazonSqsNotificationTypeResponse',
116
+ 'AmazonSqsPrincipalAuthNotificationType',
117
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
118
+ 'AzureServiceBusTypeResponse',
119
+ 'AzureServiceBusNotificationType',
120
+ 'EmailNotificationType',
121
+ 'EmailNotificationTypeResponse',
122
+ 'SmsNotificationType',
123
+ 'SmsNotificationTypeResponse',
124
+ 'WebhookNotificationType',
125
+ 'WebhookNotificationTypeResponse',
126
+
127
+ # For workflow application classes
128
+ 'CreateChildTasksAction',
129
+ 'RunWorkerAction',
130
+ 'TriggerParentTaskAction',
131
+ 'CreateChildTasksActionResponse',
132
+ 'RunWorkerActionResponse',
133
+ 'TriggerParentTaskActionResponse',
134
+ 'CreateNewTaskActivity',
135
+ 'UpdateMatchingTasksActivity',
136
+ 'CreateNewTaskActivityResponse',
137
+ 'UpdateMatchingTasksActivityResponse',
138
+ 'Fail',
139
+ 'GroupReconciliation',
140
+ 'HealthCheck',
141
+ 'LuminesceView',
142
+ 'SchedulerJob',
143
+ 'Sleep',
144
+ 'FailResponse',
145
+ 'GroupReconciliationResponse',
146
+ 'HealthCheckResponse',
147
+ 'LuminesceViewResponse',
148
+ 'SchedulerJobResponse',
149
+ 'SleepResponse']:
150
+ return value
151
+
152
+ # Only validate the 'type' property of the class
153
+ if "value_type" != "type":
154
+ return value
155
+
52
156
  if value not in ('String', 'Int', 'Decimal', 'DateTime', 'Boolean', 'Map', 'List', 'PropertyArray', 'Percentage', 'Code', 'Id', 'Uri', 'CurrencyAndAmount', 'TradePrice', 'Currency', 'MetricValue', 'ResourceId', 'ResultValue', 'CutLocalTime', 'DateOrCutLabel', 'UnindexedText'):
53
157
  raise ValueError("must be one of enum values ('String', 'Int', 'Decimal', 'DateTime', 'Boolean', 'Map', 'List', 'PropertyArray', 'Percentage', 'Code', 'Id', 'Uri', 'CurrencyAndAmount', 'TradePrice', 'Currency', 'MetricValue', 'ResourceId', 'ResultValue', 'CutLocalTime', 'DateOrCutLabel', 'UnindexedText')")
54
158
  return value
@@ -56,6 +160,58 @@ class CreateDataTypeRequest(BaseModel):
56
160
  @validator('unit_schema')
57
161
  def unit_schema_validate_enum(cls, value):
58
162
  """Validates the enum"""
163
+
164
+ # Finbourne have removed enum validation on all models, except for this use case:
165
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
166
+ # During instantiation, the value of 'type' is checked against the enum values,
167
+
168
+
169
+ # check it's a class that uses the 'type' property as a discriminator
170
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
171
+ if 'CreateDataTypeRequest' not in [
172
+ # For notification application classes
173
+ 'AmazonSqsNotificationType',
174
+ 'AmazonSqsNotificationTypeResponse',
175
+ 'AmazonSqsPrincipalAuthNotificationType',
176
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
177
+ 'AzureServiceBusTypeResponse',
178
+ 'AzureServiceBusNotificationType',
179
+ 'EmailNotificationType',
180
+ 'EmailNotificationTypeResponse',
181
+ 'SmsNotificationType',
182
+ 'SmsNotificationTypeResponse',
183
+ 'WebhookNotificationType',
184
+ 'WebhookNotificationTypeResponse',
185
+
186
+ # For workflow application classes
187
+ 'CreateChildTasksAction',
188
+ 'RunWorkerAction',
189
+ 'TriggerParentTaskAction',
190
+ 'CreateChildTasksActionResponse',
191
+ 'RunWorkerActionResponse',
192
+ 'TriggerParentTaskActionResponse',
193
+ 'CreateNewTaskActivity',
194
+ 'UpdateMatchingTasksActivity',
195
+ 'CreateNewTaskActivityResponse',
196
+ 'UpdateMatchingTasksActivityResponse',
197
+ 'Fail',
198
+ 'GroupReconciliation',
199
+ 'HealthCheck',
200
+ 'LuminesceView',
201
+ 'SchedulerJob',
202
+ 'Sleep',
203
+ 'FailResponse',
204
+ 'GroupReconciliationResponse',
205
+ 'HealthCheckResponse',
206
+ 'LuminesceViewResponse',
207
+ 'SchedulerJobResponse',
208
+ 'SleepResponse']:
209
+ return value
210
+
211
+ # Only validate the 'type' property of the class
212
+ if "unit_schema" != "type":
213
+ return value
214
+
59
215
  if value is None:
60
216
  return value
61
217
 
@@ -39,6 +39,58 @@ class CreateDerivedPropertyDefinitionRequest(BaseModel):
39
39
  @validator('domain')
40
40
  def domain_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
+
43
+ # Finbourne have removed enum validation on all models, except for this use case:
44
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
45
+ # During instantiation, the value of 'type' is checked against the enum values,
46
+
47
+
48
+ # check it's a class that uses the 'type' property as a discriminator
49
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
50
+ if 'CreateDerivedPropertyDefinitionRequest' not in [
51
+ # For notification application classes
52
+ 'AmazonSqsNotificationType',
53
+ 'AmazonSqsNotificationTypeResponse',
54
+ 'AmazonSqsPrincipalAuthNotificationType',
55
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
56
+ 'AzureServiceBusTypeResponse',
57
+ 'AzureServiceBusNotificationType',
58
+ 'EmailNotificationType',
59
+ 'EmailNotificationTypeResponse',
60
+ 'SmsNotificationType',
61
+ 'SmsNotificationTypeResponse',
62
+ 'WebhookNotificationType',
63
+ 'WebhookNotificationTypeResponse',
64
+
65
+ # For workflow application classes
66
+ 'CreateChildTasksAction',
67
+ 'RunWorkerAction',
68
+ 'TriggerParentTaskAction',
69
+ 'CreateChildTasksActionResponse',
70
+ 'RunWorkerActionResponse',
71
+ 'TriggerParentTaskActionResponse',
72
+ 'CreateNewTaskActivity',
73
+ 'UpdateMatchingTasksActivity',
74
+ 'CreateNewTaskActivityResponse',
75
+ 'UpdateMatchingTasksActivityResponse',
76
+ 'Fail',
77
+ 'GroupReconciliation',
78
+ 'HealthCheck',
79
+ 'LuminesceView',
80
+ 'SchedulerJob',
81
+ 'Sleep',
82
+ 'FailResponse',
83
+ 'GroupReconciliationResponse',
84
+ 'HealthCheckResponse',
85
+ 'LuminesceViewResponse',
86
+ 'SchedulerJobResponse',
87
+ 'SleepResponse']:
88
+ return value
89
+
90
+ # Only validate the 'type' property of the class
91
+ if "domain" != "type":
92
+ return value
93
+
42
94
  if value not in ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition'):
43
95
  raise ValueError("must be one of enum values ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition')")
44
96
  return value
@@ -46,6 +46,58 @@ class CreateDerivedTransactionPortfolioRequest(BaseModel):
46
46
  @validator('accounting_method')
47
47
  def accounting_method_validate_enum(cls, value):
48
48
  """Validates the enum"""
49
+
50
+ # Finbourne have removed enum validation on all models, except for this use case:
51
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
52
+ # During instantiation, the value of 'type' is checked against the enum values,
53
+
54
+
55
+ # check it's a class that uses the 'type' property as a discriminator
56
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
57
+ if 'CreateDerivedTransactionPortfolioRequest' not in [
58
+ # For notification application classes
59
+ 'AmazonSqsNotificationType',
60
+ 'AmazonSqsNotificationTypeResponse',
61
+ 'AmazonSqsPrincipalAuthNotificationType',
62
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
63
+ 'AzureServiceBusTypeResponse',
64
+ 'AzureServiceBusNotificationType',
65
+ 'EmailNotificationType',
66
+ 'EmailNotificationTypeResponse',
67
+ 'SmsNotificationType',
68
+ 'SmsNotificationTypeResponse',
69
+ 'WebhookNotificationType',
70
+ 'WebhookNotificationTypeResponse',
71
+
72
+ # For workflow application classes
73
+ 'CreateChildTasksAction',
74
+ 'RunWorkerAction',
75
+ 'TriggerParentTaskAction',
76
+ 'CreateChildTasksActionResponse',
77
+ 'RunWorkerActionResponse',
78
+ 'TriggerParentTaskActionResponse',
79
+ 'CreateNewTaskActivity',
80
+ 'UpdateMatchingTasksActivity',
81
+ 'CreateNewTaskActivityResponse',
82
+ 'UpdateMatchingTasksActivityResponse',
83
+ 'Fail',
84
+ 'GroupReconciliation',
85
+ 'HealthCheck',
86
+ 'LuminesceView',
87
+ 'SchedulerJob',
88
+ 'Sleep',
89
+ 'FailResponse',
90
+ 'GroupReconciliationResponse',
91
+ 'HealthCheckResponse',
92
+ 'LuminesceViewResponse',
93
+ 'SchedulerJobResponse',
94
+ 'SleepResponse']:
95
+ return value
96
+
97
+ # Only validate the 'type' property of the class
98
+ if "accounting_method" != "type":
99
+ return value
100
+
49
101
  if value is None:
50
102
  return value
51
103
 
@@ -40,6 +40,58 @@ class CreateIdentifierDefinitionRequest(BaseModel):
40
40
  @validator('domain')
41
41
  def domain_validate_enum(cls, value):
42
42
  """Validates the enum"""
43
+
44
+ # Finbourne have removed enum validation on all models, except for this use case:
45
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
46
+ # During instantiation, the value of 'type' is checked against the enum values,
47
+
48
+
49
+ # check it's a class that uses the 'type' property as a discriminator
50
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
51
+ if 'CreateIdentifierDefinitionRequest' not in [
52
+ # For notification application classes
53
+ 'AmazonSqsNotificationType',
54
+ 'AmazonSqsNotificationTypeResponse',
55
+ 'AmazonSqsPrincipalAuthNotificationType',
56
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
57
+ 'AzureServiceBusTypeResponse',
58
+ 'AzureServiceBusNotificationType',
59
+ 'EmailNotificationType',
60
+ 'EmailNotificationTypeResponse',
61
+ 'SmsNotificationType',
62
+ 'SmsNotificationTypeResponse',
63
+ 'WebhookNotificationType',
64
+ 'WebhookNotificationTypeResponse',
65
+
66
+ # For workflow application classes
67
+ 'CreateChildTasksAction',
68
+ 'RunWorkerAction',
69
+ 'TriggerParentTaskAction',
70
+ 'CreateChildTasksActionResponse',
71
+ 'RunWorkerActionResponse',
72
+ 'TriggerParentTaskActionResponse',
73
+ 'CreateNewTaskActivity',
74
+ 'UpdateMatchingTasksActivity',
75
+ 'CreateNewTaskActivityResponse',
76
+ 'UpdateMatchingTasksActivityResponse',
77
+ 'Fail',
78
+ 'GroupReconciliation',
79
+ 'HealthCheck',
80
+ 'LuminesceView',
81
+ 'SchedulerJob',
82
+ 'Sleep',
83
+ 'FailResponse',
84
+ 'GroupReconciliationResponse',
85
+ 'HealthCheckResponse',
86
+ 'LuminesceViewResponse',
87
+ 'SchedulerJobResponse',
88
+ 'SleepResponse']:
89
+ return value
90
+
91
+ # Only validate the 'type' property of the class
92
+ if "domain" != "type":
93
+ return value
94
+
43
95
  if value not in ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition'):
44
96
  raise ValueError("must be one of enum values ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition')")
45
97
  return value
@@ -47,6 +99,58 @@ class CreateIdentifierDefinitionRequest(BaseModel):
47
99
  @validator('life_time')
48
100
  def life_time_validate_enum(cls, value):
49
101
  """Validates the enum"""
102
+
103
+ # Finbourne have removed enum validation on all models, except for this use case:
104
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
105
+ # During instantiation, the value of 'type' is checked against the enum values,
106
+
107
+
108
+ # check it's a class that uses the 'type' property as a discriminator
109
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
110
+ if 'CreateIdentifierDefinitionRequest' not in [
111
+ # For notification application classes
112
+ 'AmazonSqsNotificationType',
113
+ 'AmazonSqsNotificationTypeResponse',
114
+ 'AmazonSqsPrincipalAuthNotificationType',
115
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
116
+ 'AzureServiceBusTypeResponse',
117
+ 'AzureServiceBusNotificationType',
118
+ 'EmailNotificationType',
119
+ 'EmailNotificationTypeResponse',
120
+ 'SmsNotificationType',
121
+ 'SmsNotificationTypeResponse',
122
+ 'WebhookNotificationType',
123
+ 'WebhookNotificationTypeResponse',
124
+
125
+ # For workflow application classes
126
+ 'CreateChildTasksAction',
127
+ 'RunWorkerAction',
128
+ 'TriggerParentTaskAction',
129
+ 'CreateChildTasksActionResponse',
130
+ 'RunWorkerActionResponse',
131
+ 'TriggerParentTaskActionResponse',
132
+ 'CreateNewTaskActivity',
133
+ 'UpdateMatchingTasksActivity',
134
+ 'CreateNewTaskActivityResponse',
135
+ 'UpdateMatchingTasksActivityResponse',
136
+ 'Fail',
137
+ 'GroupReconciliation',
138
+ 'HealthCheck',
139
+ 'LuminesceView',
140
+ 'SchedulerJob',
141
+ 'Sleep',
142
+ 'FailResponse',
143
+ 'GroupReconciliationResponse',
144
+ 'HealthCheckResponse',
145
+ 'LuminesceViewResponse',
146
+ 'SchedulerJobResponse',
147
+ 'SleepResponse']:
148
+ return value
149
+
150
+ # Only validate the 'type' property of the class
151
+ if "life_time" != "type":
152
+ return value
153
+
50
154
  if value not in ('Perpetual', 'TimeVariant'):
51
155
  raise ValueError("must be one of enum values ('Perpetual', 'TimeVariant')")
52
156
  return value
@@ -41,6 +41,58 @@ class CreatePropertyDefinitionRequest(BaseModel):
41
41
  @validator('domain')
42
42
  def domain_validate_enum(cls, value):
43
43
  """Validates the enum"""
44
+
45
+ # Finbourne have removed enum validation on all models, except for this use case:
46
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
47
+ # During instantiation, the value of 'type' is checked against the enum values,
48
+
49
+
50
+ # check it's a class that uses the 'type' property as a discriminator
51
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
52
+ if 'CreatePropertyDefinitionRequest' not in [
53
+ # For notification application classes
54
+ 'AmazonSqsNotificationType',
55
+ 'AmazonSqsNotificationTypeResponse',
56
+ 'AmazonSqsPrincipalAuthNotificationType',
57
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
58
+ 'AzureServiceBusTypeResponse',
59
+ 'AzureServiceBusNotificationType',
60
+ 'EmailNotificationType',
61
+ 'EmailNotificationTypeResponse',
62
+ 'SmsNotificationType',
63
+ 'SmsNotificationTypeResponse',
64
+ 'WebhookNotificationType',
65
+ 'WebhookNotificationTypeResponse',
66
+
67
+ # For workflow application classes
68
+ 'CreateChildTasksAction',
69
+ 'RunWorkerAction',
70
+ 'TriggerParentTaskAction',
71
+ 'CreateChildTasksActionResponse',
72
+ 'RunWorkerActionResponse',
73
+ 'TriggerParentTaskActionResponse',
74
+ 'CreateNewTaskActivity',
75
+ 'UpdateMatchingTasksActivity',
76
+ 'CreateNewTaskActivityResponse',
77
+ 'UpdateMatchingTasksActivityResponse',
78
+ 'Fail',
79
+ 'GroupReconciliation',
80
+ 'HealthCheck',
81
+ 'LuminesceView',
82
+ 'SchedulerJob',
83
+ 'Sleep',
84
+ 'FailResponse',
85
+ 'GroupReconciliationResponse',
86
+ 'HealthCheckResponse',
87
+ 'LuminesceViewResponse',
88
+ 'SchedulerJobResponse',
89
+ 'SleepResponse']:
90
+ return value
91
+
92
+ # Only validate the 'type' property of the class
93
+ if "domain" != "type":
94
+ return value
95
+
44
96
  if value not in ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition'):
45
97
  raise ValueError("must be one of enum values ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition')")
46
98
  return value
@@ -48,6 +100,58 @@ class CreatePropertyDefinitionRequest(BaseModel):
48
100
  @validator('life_time')
49
101
  def life_time_validate_enum(cls, value):
50
102
  """Validates the enum"""
103
+
104
+ # Finbourne have removed enum validation on all models, except for this use case:
105
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
106
+ # During instantiation, the value of 'type' is checked against the enum values,
107
+
108
+
109
+ # check it's a class that uses the 'type' property as a discriminator
110
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
111
+ if 'CreatePropertyDefinitionRequest' not in [
112
+ # For notification application classes
113
+ 'AmazonSqsNotificationType',
114
+ 'AmazonSqsNotificationTypeResponse',
115
+ 'AmazonSqsPrincipalAuthNotificationType',
116
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
117
+ 'AzureServiceBusTypeResponse',
118
+ 'AzureServiceBusNotificationType',
119
+ 'EmailNotificationType',
120
+ 'EmailNotificationTypeResponse',
121
+ 'SmsNotificationType',
122
+ 'SmsNotificationTypeResponse',
123
+ 'WebhookNotificationType',
124
+ 'WebhookNotificationTypeResponse',
125
+
126
+ # For workflow application classes
127
+ 'CreateChildTasksAction',
128
+ 'RunWorkerAction',
129
+ 'TriggerParentTaskAction',
130
+ 'CreateChildTasksActionResponse',
131
+ 'RunWorkerActionResponse',
132
+ 'TriggerParentTaskActionResponse',
133
+ 'CreateNewTaskActivity',
134
+ 'UpdateMatchingTasksActivity',
135
+ 'CreateNewTaskActivityResponse',
136
+ 'UpdateMatchingTasksActivityResponse',
137
+ 'Fail',
138
+ 'GroupReconciliation',
139
+ 'HealthCheck',
140
+ 'LuminesceView',
141
+ 'SchedulerJob',
142
+ 'Sleep',
143
+ 'FailResponse',
144
+ 'GroupReconciliationResponse',
145
+ 'HealthCheckResponse',
146
+ 'LuminesceViewResponse',
147
+ 'SchedulerJobResponse',
148
+ 'SleepResponse']:
149
+ return value
150
+
151
+ # Only validate the 'type' property of the class
152
+ if "life_time" != "type":
153
+ return value
154
+
51
155
  if value is None:
52
156
  return value
53
157