lusid-sdk 2.1.748__py3-none-any.whl → 2.1.750__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 (278) hide show
  1. lusid/configuration.py +1 -1
  2. lusid/models/access_metadata_operation.py +52 -0
  3. lusid/models/account.py +52 -0
  4. lusid/models/accumulation_event.py +52 -0
  5. lusid/models/address_definition.py +52 -0
  6. lusid/models/address_key_compliance_parameter.py +52 -0
  7. lusid/models/address_key_list.py +52 -0
  8. lusid/models/address_key_list_compliance_parameter.py +52 -0
  9. lusid/models/adjust_global_commitment_event.py +52 -0
  10. lusid/models/aggregate_spec.py +53 -1
  11. lusid/models/aggregation_query.py +104 -0
  12. lusid/models/amortisation_event.py +52 -0
  13. lusid/models/append_fx_forward_curve_by_quote_reference.py +52 -0
  14. lusid/models/append_fx_forward_curve_data.py +52 -0
  15. lusid/models/append_fx_forward_pips_curve_data.py +52 -0
  16. lusid/models/append_fx_forward_tenor_curve_data.py +52 -0
  17. lusid/models/append_fx_forward_tenor_pips_curve_data.py +52 -0
  18. lusid/models/append_market_data.py +52 -0
  19. lusid/models/basket.py +52 -0
  20. lusid/models/bond.py +52 -0
  21. lusid/models/bond_conversion_schedule.py +52 -0
  22. lusid/models/bond_coupon_event.py +52 -0
  23. lusid/models/bond_default_event.py +52 -0
  24. lusid/models/bond_principal_event.py +52 -0
  25. lusid/models/bonus_issue_event.py +52 -0
  26. lusid/models/bool_compliance_parameter.py +52 -0
  27. lusid/models/bool_list_compliance_parameter.py +52 -0
  28. lusid/models/branch_step.py +52 -0
  29. lusid/models/branch_step_request.py +52 -0
  30. lusid/models/calendar_dependency.py +52 -0
  31. lusid/models/call_on_intermediate_securities_event.py +52 -0
  32. lusid/models/cap_floor.py +52 -0
  33. lusid/models/capital_distribution_event.py +52 -0
  34. lusid/models/cash.py +52 -0
  35. lusid/models/cash_dependency.py +52 -0
  36. lusid/models/cash_dividend_event.py +52 -0
  37. lusid/models/cash_flow_event.py +52 -0
  38. lusid/models/cash_flow_value.py +52 -0
  39. lusid/models/cash_flow_value_set.py +52 -0
  40. lusid/models/cash_perpetual.py +52 -0
  41. lusid/models/cds_credit_event.py +52 -0
  42. lusid/models/cds_index.py +52 -0
  43. lusid/models/cdx_credit_event.py +52 -0
  44. lusid/models/change_history.py +52 -0
  45. lusid/models/check_step.py +52 -0
  46. lusid/models/check_step_request.py +52 -0
  47. lusid/models/close_event.py +52 -0
  48. lusid/models/complete_portfolio.py +52 -0
  49. lusid/models/complex_bond.py +52 -0
  50. lusid/models/complex_market_data.py +52 -0
  51. lusid/models/compliance_parameter.py +52 -0
  52. lusid/models/compliance_step.py +52 -0
  53. lusid/models/compliance_step_request.py +52 -0
  54. lusid/models/constant_volatility_surface.py +52 -0
  55. lusid/models/contract_for_difference.py +52 -0
  56. lusid/models/contract_initialisation_event.py +52 -0
  57. lusid/models/create_data_type_request.py +156 -0
  58. lusid/models/create_derived_property_definition_request.py +52 -0
  59. lusid/models/create_derived_transaction_portfolio_request.py +52 -0
  60. lusid/models/create_identifier_definition_request.py +104 -0
  61. lusid/models/create_property_definition_request.py +104 -0
  62. lusid/models/create_simple_position_portfolio_request.py +52 -0
  63. lusid/models/create_transaction_portfolio_request.py +52 -0
  64. lusid/models/credit_default_swap.py +52 -0
  65. lusid/models/credit_premium_cash_flow_event.py +52 -0
  66. lusid/models/credit_spread_curve_data.py +52 -0
  67. lusid/models/curve_options.py +52 -0
  68. lusid/models/data_type.py +156 -0
  69. lusid/models/data_type_summary.py +156 -0
  70. lusid/models/date_time_compliance_parameter.py +52 -0
  71. lusid/models/date_time_list_compliance_parameter.py +52 -0
  72. lusid/models/decimal_compliance_parameter.py +52 -0
  73. lusid/models/decimal_list.py +52 -0
  74. lusid/models/decimal_list_compliance_parameter.py +52 -0
  75. lusid/models/deposit_close_event.py +52 -0
  76. lusid/models/deposit_interest_payment_event.py +52 -0
  77. lusid/models/discount_factor_curve_data.py +52 -0
  78. lusid/models/discounting_dependency.py +52 -0
  79. lusid/models/dividend_option_event.py +52 -0
  80. lusid/models/dividend_reinvestment_event.py +52 -0
  81. lusid/models/drawdown_event.py +52 -0
  82. lusid/models/early_redemption_event.py +52 -0
  83. lusid/models/economic_dependency.py +52 -0
  84. lusid/models/empty_model_options.py +52 -0
  85. lusid/models/equity.py +52 -0
  86. lusid/models/equity_curve_by_prices_data.py +52 -0
  87. lusid/models/equity_curve_dependency.py +52 -0
  88. lusid/models/equity_model_options.py +52 -0
  89. lusid/models/equity_option.py +52 -0
  90. lusid/models/equity_swap.py +52 -0
  91. lusid/models/equity_vol_dependency.py +52 -0
  92. lusid/models/equity_vol_surface_data.py +52 -0
  93. lusid/models/exchange_traded_option.py +52 -0
  94. lusid/models/exercise_event.py +52 -0
  95. lusid/models/exotic_instrument.py +52 -0
  96. lusid/models/expiry_event.py +52 -0
  97. lusid/models/field_schema.py +52 -0
  98. lusid/models/filter_predicate_compliance_parameter.py +52 -0
  99. lusid/models/filter_step.py +52 -0
  100. lusid/models/filter_step_request.py +52 -0
  101. lusid/models/fixed_leg.py +52 -0
  102. lusid/models/fixed_schedule.py +52 -0
  103. lusid/models/flexible_deposit.py +52 -0
  104. lusid/models/flexible_loan.py +52 -0
  105. lusid/models/float_schedule.py +52 -0
  106. lusid/models/floating_leg.py +52 -0
  107. lusid/models/forward_rate_agreement.py +52 -0
  108. lusid/models/fund_id_list.py +52 -0
  109. lusid/models/fund_share_class.py +52 -0
  110. lusid/models/funding_leg.py +52 -0
  111. lusid/models/funding_leg_options.py +52 -0
  112. lusid/models/future.py +52 -0
  113. lusid/models/future_expiry_event.py +52 -0
  114. lusid/models/future_mark_to_market_event.py +52 -0
  115. lusid/models/fx_dependency.py +52 -0
  116. lusid/models/fx_forward.py +52 -0
  117. lusid/models/fx_forward_curve_by_quote_reference.py +52 -0
  118. lusid/models/fx_forward_curve_data.py +52 -0
  119. lusid/models/fx_forward_model_options.py +156 -0
  120. lusid/models/fx_forward_pips_curve_data.py +52 -0
  121. lusid/models/fx_forward_settlement_event.py +52 -0
  122. lusid/models/fx_forward_tenor_curve_data.py +52 -0
  123. lusid/models/fx_forward_tenor_pips_curve_data.py +52 -0
  124. lusid/models/fx_forwards_dependency.py +52 -0
  125. lusid/models/fx_linked_notional_schedule.py +52 -0
  126. lusid/models/fx_option.py +52 -0
  127. lusid/models/fx_rate_schedule.py +52 -0
  128. lusid/models/fx_swap.py +52 -0
  129. lusid/models/fx_vol_dependency.py +52 -0
  130. lusid/models/fx_vol_surface_data.py +52 -0
  131. lusid/models/get_reference_portfolio_constituents_response.py +104 -0
  132. lusid/models/group_by_selector_compliance_parameter.py +52 -0
  133. lusid/models/group_by_step.py +52 -0
  134. lusid/models/group_by_step_request.py +52 -0
  135. lusid/models/group_calculation_compliance_parameter.py +52 -0
  136. lusid/models/group_filter_predicate_compliance_parameter.py +52 -0
  137. lusid/models/group_filter_step.py +52 -0
  138. lusid/models/group_filter_step_request.py +52 -0
  139. lusid/models/holdings_adjustment.py +52 -0
  140. lusid/models/holdings_adjustment_header.py +52 -0
  141. lusid/models/i_unit_definition_dto.py +52 -0
  142. lusid/models/identifier_definition.py +104 -0
  143. lusid/models/index_model_options.py +104 -0
  144. lusid/models/index_projection_dependency.py +52 -0
  145. lusid/models/inflation_fixing_dependency.py +52 -0
  146. lusid/models/inflation_leg.py +52 -0
  147. lusid/models/inflation_linked_bond.py +52 -0
  148. lusid/models/inflation_swap.py +52 -0
  149. lusid/models/informational_error_event.py +52 -0
  150. lusid/models/informational_event.py +52 -0
  151. lusid/models/instrument.py +104 -0
  152. lusid/models/instrument_event.py +52 -0
  153. lusid/models/instrument_leg.py +52 -0
  154. lusid/models/instrument_list.py +52 -0
  155. lusid/models/instrument_list_compliance_parameter.py +52 -0
  156. lusid/models/interest_rate_swap.py +52 -0
  157. lusid/models/interest_rate_swaption.py +52 -0
  158. lusid/models/intermediate_compliance_step.py +52 -0
  159. lusid/models/intermediate_compliance_step_request.py +52 -0
  160. lusid/models/intermediate_securities_distribution_event.py +52 -0
  161. lusid/models/ir_vol_cube_data.py +52 -0
  162. lusid/models/ir_vol_dependency.py +52 -0
  163. lusid/models/life_cycle_event_value.py +52 -0
  164. lusid/models/loan_facility.py +52 -0
  165. lusid/models/loan_interest_repayment_event.py +52 -0
  166. lusid/models/loan_principal_repayment_event.py +52 -0
  167. lusid/models/lusid_instrument.py +52 -0
  168. lusid/models/lusid_trade_ticket.py +52 -0
  169. lusid/models/market_data_key_rule.py +52 -0
  170. lusid/models/market_data_options.py +52 -0
  171. lusid/models/market_data_specific_rule.py +52 -0
  172. lusid/models/market_quote.py +52 -0
  173. lusid/models/mastered_instrument.py +52 -0
  174. lusid/models/match_criterion.py +52 -0
  175. lusid/models/maturity_event.py +52 -0
  176. lusid/models/mbs_coupon_event.py +52 -0
  177. lusid/models/mbs_interest_deferral_event.py +52 -0
  178. lusid/models/mbs_interest_shortfall_event.py +52 -0
  179. lusid/models/mbs_principal_event.py +52 -0
  180. lusid/models/mbs_principal_write_off_event.py +52 -0
  181. lusid/models/merger_event.py +52 -0
  182. lusid/models/model_options.py +52 -0
  183. lusid/models/model_selection.py +104 -0
  184. lusid/models/opaque_dependency.py +52 -0
  185. lusid/models/opaque_market_data.py +52 -0
  186. lusid/models/opaque_model_options.py +53 -1
  187. lusid/models/open_event.py +52 -0
  188. lusid/models/option_exercise_cash_event.py +52 -0
  189. lusid/models/option_exercise_physical_event.py +52 -0
  190. lusid/models/optionality_schedule.py +52 -0
  191. lusid/models/order_by_spec.py +52 -0
  192. lusid/models/output_transaction.py +52 -0
  193. lusid/models/percent_check_step.py +52 -0
  194. lusid/models/percent_check_step_request.py +52 -0
  195. lusid/models/portfolio.py +104 -0
  196. lusid/models/portfolio_details.py +52 -0
  197. lusid/models/portfolio_group_id_compliance_parameter.py +52 -0
  198. lusid/models/portfolio_group_id_list.py +52 -0
  199. lusid/models/portfolio_group_id_list_compliance_parameter.py +52 -0
  200. lusid/models/portfolio_id_compliance_parameter.py +52 -0
  201. lusid/models/portfolio_id_list.py +52 -0
  202. lusid/models/portfolio_id_list_compliance_parameter.py +52 -0
  203. lusid/models/portfolio_result_data_key_rule.py +52 -0
  204. lusid/models/portfolio_search_result.py +52 -0
  205. lusid/models/portfolio_without_href.py +104 -0
  206. lusid/models/property_definition.py +312 -0
  207. lusid/models/property_definition_search_result.py +312 -0
  208. lusid/models/property_filter.py +104 -0
  209. lusid/models/property_key_compliance_parameter.py +52 -0
  210. lusid/models/property_key_list_compliance_parameter.py +52 -0
  211. lusid/models/property_list.py +52 -0
  212. lusid/models/property_list_compliance_parameter.py +52 -0
  213. lusid/models/property_value_equals.py +52 -0
  214. lusid/models/property_value_in.py +52 -0
  215. lusid/models/protection_payout_cash_flow_event.py +52 -0
  216. lusid/models/quote_dependency.py +52 -0
  217. lusid/models/quote_series_id.py +104 -0
  218. lusid/models/raw_vendor_event.py +52 -0
  219. lusid/models/recombine_step.py +52 -0
  220. lusid/models/reconcile_date_time_rule.py +104 -0
  221. lusid/models/reconcile_numeric_rule.py +104 -0
  222. lusid/models/reconcile_string_rule.py +104 -0
  223. lusid/models/reconciliation_line.py +4 -4
  224. lusid/models/reconciliation_rule.py +52 -0
  225. lusid/models/reference_instrument.py +52 -0
  226. lusid/models/reference_list.py +52 -0
  227. lusid/models/repo.py +52 -0
  228. lusid/models/reset_event.py +52 -0
  229. lusid/models/resource_list_of_value_type.py +1 -1
  230. lusid/models/result_data_key_rule.py +52 -0
  231. lusid/models/result_key_rule.py +52 -0
  232. lusid/models/result_value.py +52 -0
  233. lusid/models/result_value0_d.py +52 -0
  234. lusid/models/result_value_bool.py +52 -0
  235. lusid/models/result_value_currency.py +52 -0
  236. lusid/models/result_value_date_time_offset.py +52 -0
  237. lusid/models/result_value_decimal.py +52 -0
  238. lusid/models/result_value_dictionary.py +52 -0
  239. lusid/models/result_value_int.py +52 -0
  240. lusid/models/result_value_string.py +52 -0
  241. lusid/models/reverse_stock_split_event.py +52 -0
  242. lusid/models/schedule.py +52 -0
  243. lusid/models/scrip_dividend_event.py +52 -0
  244. lusid/models/simple_cash_flow_loan.py +52 -0
  245. lusid/models/simple_instrument.py +104 -0
  246. lusid/models/spin_off_event.py +52 -0
  247. lusid/models/step_schedule.py +52 -0
  248. lusid/models/stock_dividend_event.py +52 -0
  249. lusid/models/stock_split_event.py +52 -0
  250. lusid/models/string_compliance_parameter.py +52 -0
  251. lusid/models/string_list.py +52 -0
  252. lusid/models/string_list_compliance_parameter.py +52 -0
  253. lusid/models/sub_holding_key_value_equals.py +52 -0
  254. lusid/models/swap_cash_flow_event.py +52 -0
  255. lusid/models/swap_principal_event.py +52 -0
  256. lusid/models/tender_event.py +52 -0
  257. lusid/models/term_deposit.py +52 -0
  258. lusid/models/term_deposit_interest_event.py +52 -0
  259. lusid/models/term_deposit_principal_event.py +52 -0
  260. lusid/models/total_return_swap.py +52 -0
  261. lusid/models/trade_ticket.py +52 -0
  262. lusid/models/transaction.py +52 -0
  263. lusid/models/transaction_configuration_movement_data.py +52 -0
  264. lusid/models/transaction_configuration_movement_data_request.py +52 -0
  265. lusid/models/transaction_configuration_type_alias.py +52 -0
  266. lusid/models/transaction_price.py +52 -0
  267. lusid/models/transaction_query_parameters.py +52 -0
  268. lusid/models/transition_event.py +52 -0
  269. lusid/models/trigger_event.py +52 -0
  270. lusid/models/update_deposit_amount_event.py +52 -0
  271. lusid/models/upsert_reference_portfolio_constituents_request.py +104 -0
  272. lusid/models/vendor_dependency.py +52 -0
  273. lusid/models/vendor_model_rule.py +52 -0
  274. lusid/models/weekend_mask.py +1 -1
  275. lusid/models/yield_curve_data.py +52 -0
  276. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/METADATA +1 -1
  277. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/RECORD +278 -278
  278. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/WHEEL +0 -0
@@ -48,6 +48,58 @@ class CreateTransactionPortfolioRequest(BaseModel):
48
48
  @validator('accounting_method')
49
49
  def accounting_method_validate_enum(cls, value):
50
50
  """Validates the enum"""
51
+
52
+ # Finbourne have removed enum validation on all models, except for this use case:
53
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
54
+ # During instantiation, the value of 'type' is checked against the enum values,
55
+
56
+
57
+ # check it's a class that uses the 'type' property as a discriminator
58
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
59
+ if 'CreateTransactionPortfolioRequest' not in [
60
+ # For notification application classes
61
+ 'AmazonSqsNotificationType',
62
+ 'AmazonSqsNotificationTypeResponse',
63
+ 'AmazonSqsPrincipalAuthNotificationType',
64
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
65
+ 'AzureServiceBusTypeResponse',
66
+ 'AzureServiceBusNotificationType',
67
+ 'EmailNotificationType',
68
+ 'EmailNotificationTypeResponse',
69
+ 'SmsNotificationType',
70
+ 'SmsNotificationTypeResponse',
71
+ 'WebhookNotificationType',
72
+ 'WebhookNotificationTypeResponse',
73
+
74
+ # For workflow application classes
75
+ 'CreateChildTasksAction',
76
+ 'RunWorkerAction',
77
+ 'TriggerParentTaskAction',
78
+ 'CreateChildTasksActionResponse',
79
+ 'RunWorkerActionResponse',
80
+ 'TriggerParentTaskActionResponse',
81
+ 'CreateNewTaskActivity',
82
+ 'UpdateMatchingTasksActivity',
83
+ 'CreateNewTaskActivityResponse',
84
+ 'UpdateMatchingTasksActivityResponse',
85
+ 'Fail',
86
+ 'GroupReconciliation',
87
+ 'HealthCheck',
88
+ 'LuminesceView',
89
+ 'SchedulerJob',
90
+ 'Sleep',
91
+ 'FailResponse',
92
+ 'GroupReconciliationResponse',
93
+ 'HealthCheckResponse',
94
+ 'LuminesceViewResponse',
95
+ 'SchedulerJobResponse',
96
+ 'SleepResponse']:
97
+ return value
98
+
99
+ # Only validate the 'type' property of the class
100
+ if "accounting_method" != "type":
101
+ return value
102
+
51
103
  if value is None:
52
104
  return value
53
105
 
@@ -46,6 +46,58 @@ class CreditDefaultSwap(LusidInstrument):
46
46
  @validator('instrument_type')
47
47
  def instrument_type_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 'CreditDefaultSwap' 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 "instrument_type" != "type":
99
+ return value
100
+
49
101
  if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit'):
50
102
  raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash', 'MasteredInstrument', 'LoanFacility', 'FlexibleDeposit')")
51
103
  return value
@@ -37,6 +37,58 @@ class CreditPremiumCashFlowEvent(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 'CreditPremiumCashFlowEvent' 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
@@ -43,6 +43,58 @@ class CreditSpreadCurveData(ComplexMarketData):
43
43
  @validator('market_data_type')
44
44
  def market_data_type_validate_enum(cls, value):
45
45
  """Validates the enum"""
46
+
47
+ # Finbourne have removed enum validation on all models, except for this use case:
48
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
49
+ # During instantiation, the value of 'type' is checked against the enum values,
50
+
51
+
52
+ # check it's a class that uses the 'type' property as a discriminator
53
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
54
+ if 'CreditSpreadCurveData' not in [
55
+ # For notification application classes
56
+ 'AmazonSqsNotificationType',
57
+ 'AmazonSqsNotificationTypeResponse',
58
+ 'AmazonSqsPrincipalAuthNotificationType',
59
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
60
+ 'AzureServiceBusTypeResponse',
61
+ 'AzureServiceBusNotificationType',
62
+ 'EmailNotificationType',
63
+ 'EmailNotificationTypeResponse',
64
+ 'SmsNotificationType',
65
+ 'SmsNotificationTypeResponse',
66
+ 'WebhookNotificationType',
67
+ 'WebhookNotificationTypeResponse',
68
+
69
+ # For workflow application classes
70
+ 'CreateChildTasksAction',
71
+ 'RunWorkerAction',
72
+ 'TriggerParentTaskAction',
73
+ 'CreateChildTasksActionResponse',
74
+ 'RunWorkerActionResponse',
75
+ 'TriggerParentTaskActionResponse',
76
+ 'CreateNewTaskActivity',
77
+ 'UpdateMatchingTasksActivity',
78
+ 'CreateNewTaskActivityResponse',
79
+ 'UpdateMatchingTasksActivityResponse',
80
+ 'Fail',
81
+ 'GroupReconciliation',
82
+ 'HealthCheck',
83
+ 'LuminesceView',
84
+ 'SchedulerJob',
85
+ 'Sleep',
86
+ 'FailResponse',
87
+ 'GroupReconciliationResponse',
88
+ 'HealthCheckResponse',
89
+ 'LuminesceViewResponse',
90
+ 'SchedulerJobResponse',
91
+ 'SleepResponse']:
92
+ return value
93
+
94
+ # Only validate the 'type' property of the class
95
+ if "market_data_type" != "type":
96
+ return value
97
+
46
98
  if value not in ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface'):
47
99
  raise ValueError("must be one of enum values ('DiscountFactorCurveData', 'EquityVolSurfaceData', 'FxVolSurfaceData', 'IrVolCubeData', 'OpaqueMarketData', 'YieldCurveData', 'FxForwardCurveData', 'FxForwardPipsCurveData', 'FxForwardTenorCurveData', 'FxForwardTenorPipsCurveData', 'FxForwardCurveByQuoteReference', 'CreditSpreadCurveData', 'EquityCurveByPricesData', 'ConstantVolatilitySurface')")
48
100
  return value
@@ -36,6 +36,58 @@ class CurveOptions(MarketDataOptions):
36
36
  @validator('market_data_options_type')
37
37
  def market_data_options_type_validate_enum(cls, value):
38
38
  """Validates the enum"""
39
+
40
+ # Finbourne have removed enum validation on all models, except for this use case:
41
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
42
+ # During instantiation, the value of 'type' is checked against the enum values,
43
+
44
+
45
+ # check it's a class that uses the 'type' property as a discriminator
46
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
47
+ if 'CurveOptions' not in [
48
+ # For notification application classes
49
+ 'AmazonSqsNotificationType',
50
+ 'AmazonSqsNotificationTypeResponse',
51
+ 'AmazonSqsPrincipalAuthNotificationType',
52
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
53
+ 'AzureServiceBusTypeResponse',
54
+ 'AzureServiceBusNotificationType',
55
+ 'EmailNotificationType',
56
+ 'EmailNotificationTypeResponse',
57
+ 'SmsNotificationType',
58
+ 'SmsNotificationTypeResponse',
59
+ 'WebhookNotificationType',
60
+ 'WebhookNotificationTypeResponse',
61
+
62
+ # For workflow application classes
63
+ 'CreateChildTasksAction',
64
+ 'RunWorkerAction',
65
+ 'TriggerParentTaskAction',
66
+ 'CreateChildTasksActionResponse',
67
+ 'RunWorkerActionResponse',
68
+ 'TriggerParentTaskActionResponse',
69
+ 'CreateNewTaskActivity',
70
+ 'UpdateMatchingTasksActivity',
71
+ 'CreateNewTaskActivityResponse',
72
+ 'UpdateMatchingTasksActivityResponse',
73
+ 'Fail',
74
+ 'GroupReconciliation',
75
+ 'HealthCheck',
76
+ 'LuminesceView',
77
+ 'SchedulerJob',
78
+ 'Sleep',
79
+ 'FailResponse',
80
+ 'GroupReconciliationResponse',
81
+ 'HealthCheckResponse',
82
+ 'LuminesceViewResponse',
83
+ 'SchedulerJobResponse',
84
+ 'SleepResponse']:
85
+ return value
86
+
87
+ # Only validate the 'type' property of the class
88
+ if "market_data_options_type" != "type":
89
+ return value
90
+
39
91
  if value not in ('CurveOptions'):
40
92
  raise ValueError("must be one of enum values ('CurveOptions')")
41
93
  return value
lusid/models/data_type.py CHANGED
@@ -49,6 +49,58 @@ class DataType(BaseModel):
49
49
  @validator('type_value_range')
50
50
  def type_value_range_validate_enum(cls, value):
51
51
  """Validates the enum"""
52
+
53
+ # Finbourne have removed enum validation on all models, except for this use case:
54
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
55
+ # During instantiation, the value of 'type' is checked against the enum values,
56
+
57
+
58
+ # check it's a class that uses the 'type' property as a discriminator
59
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
60
+ if 'DataType' not in [
61
+ # For notification application classes
62
+ 'AmazonSqsNotificationType',
63
+ 'AmazonSqsNotificationTypeResponse',
64
+ 'AmazonSqsPrincipalAuthNotificationType',
65
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
66
+ 'AzureServiceBusTypeResponse',
67
+ 'AzureServiceBusNotificationType',
68
+ 'EmailNotificationType',
69
+ 'EmailNotificationTypeResponse',
70
+ 'SmsNotificationType',
71
+ 'SmsNotificationTypeResponse',
72
+ 'WebhookNotificationType',
73
+ 'WebhookNotificationTypeResponse',
74
+
75
+ # For workflow application classes
76
+ 'CreateChildTasksAction',
77
+ 'RunWorkerAction',
78
+ 'TriggerParentTaskAction',
79
+ 'CreateChildTasksActionResponse',
80
+ 'RunWorkerActionResponse',
81
+ 'TriggerParentTaskActionResponse',
82
+ 'CreateNewTaskActivity',
83
+ 'UpdateMatchingTasksActivity',
84
+ 'CreateNewTaskActivityResponse',
85
+ 'UpdateMatchingTasksActivityResponse',
86
+ 'Fail',
87
+ 'GroupReconciliation',
88
+ 'HealthCheck',
89
+ 'LuminesceView',
90
+ 'SchedulerJob',
91
+ 'Sleep',
92
+ 'FailResponse',
93
+ 'GroupReconciliationResponse',
94
+ 'HealthCheckResponse',
95
+ 'LuminesceViewResponse',
96
+ 'SchedulerJobResponse',
97
+ 'SleepResponse']:
98
+ return value
99
+
100
+ # Only validate the 'type' property of the class
101
+ if "type_value_range" != "type":
102
+ return value
103
+
52
104
  if value not in ('Open', 'Closed'):
53
105
  raise ValueError("must be one of enum values ('Open', 'Closed')")
54
106
  return value
@@ -56,6 +108,58 @@ class DataType(BaseModel):
56
108
  @validator('value_type')
57
109
  def value_type_validate_enum(cls, value):
58
110
  """Validates the enum"""
111
+
112
+ # Finbourne have removed enum validation on all models, except for this use case:
113
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
114
+ # During instantiation, the value of 'type' is checked against the enum values,
115
+
116
+
117
+ # check it's a class that uses the 'type' property as a discriminator
118
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
119
+ if 'DataType' not in [
120
+ # For notification application classes
121
+ 'AmazonSqsNotificationType',
122
+ 'AmazonSqsNotificationTypeResponse',
123
+ 'AmazonSqsPrincipalAuthNotificationType',
124
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
125
+ 'AzureServiceBusTypeResponse',
126
+ 'AzureServiceBusNotificationType',
127
+ 'EmailNotificationType',
128
+ 'EmailNotificationTypeResponse',
129
+ 'SmsNotificationType',
130
+ 'SmsNotificationTypeResponse',
131
+ 'WebhookNotificationType',
132
+ 'WebhookNotificationTypeResponse',
133
+
134
+ # For workflow application classes
135
+ 'CreateChildTasksAction',
136
+ 'RunWorkerAction',
137
+ 'TriggerParentTaskAction',
138
+ 'CreateChildTasksActionResponse',
139
+ 'RunWorkerActionResponse',
140
+ 'TriggerParentTaskActionResponse',
141
+ 'CreateNewTaskActivity',
142
+ 'UpdateMatchingTasksActivity',
143
+ 'CreateNewTaskActivityResponse',
144
+ 'UpdateMatchingTasksActivityResponse',
145
+ 'Fail',
146
+ 'GroupReconciliation',
147
+ 'HealthCheck',
148
+ 'LuminesceView',
149
+ 'SchedulerJob',
150
+ 'Sleep',
151
+ 'FailResponse',
152
+ 'GroupReconciliationResponse',
153
+ 'HealthCheckResponse',
154
+ 'LuminesceViewResponse',
155
+ 'SchedulerJobResponse',
156
+ 'SleepResponse']:
157
+ return value
158
+
159
+ # Only validate the 'type' property of the class
160
+ if "value_type" != "type":
161
+ return value
162
+
59
163
  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'):
60
164
  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')")
61
165
  return value
@@ -63,6 +167,58 @@ class DataType(BaseModel):
63
167
  @validator('unit_schema')
64
168
  def unit_schema_validate_enum(cls, value):
65
169
  """Validates the enum"""
170
+
171
+ # Finbourne have removed enum validation on all models, except for this use case:
172
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
173
+ # During instantiation, the value of 'type' is checked against the enum values,
174
+
175
+
176
+ # check it's a class that uses the 'type' property as a discriminator
177
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
178
+ if 'DataType' not in [
179
+ # For notification application classes
180
+ 'AmazonSqsNotificationType',
181
+ 'AmazonSqsNotificationTypeResponse',
182
+ 'AmazonSqsPrincipalAuthNotificationType',
183
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
184
+ 'AzureServiceBusTypeResponse',
185
+ 'AzureServiceBusNotificationType',
186
+ 'EmailNotificationType',
187
+ 'EmailNotificationTypeResponse',
188
+ 'SmsNotificationType',
189
+ 'SmsNotificationTypeResponse',
190
+ 'WebhookNotificationType',
191
+ 'WebhookNotificationTypeResponse',
192
+
193
+ # For workflow application classes
194
+ 'CreateChildTasksAction',
195
+ 'RunWorkerAction',
196
+ 'TriggerParentTaskAction',
197
+ 'CreateChildTasksActionResponse',
198
+ 'RunWorkerActionResponse',
199
+ 'TriggerParentTaskActionResponse',
200
+ 'CreateNewTaskActivity',
201
+ 'UpdateMatchingTasksActivity',
202
+ 'CreateNewTaskActivityResponse',
203
+ 'UpdateMatchingTasksActivityResponse',
204
+ 'Fail',
205
+ 'GroupReconciliation',
206
+ 'HealthCheck',
207
+ 'LuminesceView',
208
+ 'SchedulerJob',
209
+ 'Sleep',
210
+ 'FailResponse',
211
+ 'GroupReconciliationResponse',
212
+ 'HealthCheckResponse',
213
+ 'LuminesceViewResponse',
214
+ 'SchedulerJobResponse',
215
+ 'SleepResponse']:
216
+ return value
217
+
218
+ # Only validate the 'type' property of the class
219
+ if "unit_schema" != "type":
220
+ return value
221
+
66
222
  if value is None:
67
223
  return value
68
224