lusid-sdk 2.1.748__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 (277) 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 +52 -0
  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 +52 -0
  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_rule.py +52 -0
  224. lusid/models/reference_instrument.py +52 -0
  225. lusid/models/reference_list.py +52 -0
  226. lusid/models/repo.py +52 -0
  227. lusid/models/reset_event.py +52 -0
  228. lusid/models/resource_list_of_value_type.py +1 -1
  229. lusid/models/result_data_key_rule.py +52 -0
  230. lusid/models/result_key_rule.py +52 -0
  231. lusid/models/result_value.py +52 -0
  232. lusid/models/result_value0_d.py +52 -0
  233. lusid/models/result_value_bool.py +52 -0
  234. lusid/models/result_value_currency.py +52 -0
  235. lusid/models/result_value_date_time_offset.py +52 -0
  236. lusid/models/result_value_decimal.py +52 -0
  237. lusid/models/result_value_dictionary.py +52 -0
  238. lusid/models/result_value_int.py +52 -0
  239. lusid/models/result_value_string.py +52 -0
  240. lusid/models/reverse_stock_split_event.py +52 -0
  241. lusid/models/schedule.py +52 -0
  242. lusid/models/scrip_dividend_event.py +52 -0
  243. lusid/models/simple_cash_flow_loan.py +52 -0
  244. lusid/models/simple_instrument.py +104 -0
  245. lusid/models/spin_off_event.py +52 -0
  246. lusid/models/step_schedule.py +52 -0
  247. lusid/models/stock_dividend_event.py +52 -0
  248. lusid/models/stock_split_event.py +52 -0
  249. lusid/models/string_compliance_parameter.py +52 -0
  250. lusid/models/string_list.py +52 -0
  251. lusid/models/string_list_compliance_parameter.py +52 -0
  252. lusid/models/sub_holding_key_value_equals.py +52 -0
  253. lusid/models/swap_cash_flow_event.py +52 -0
  254. lusid/models/swap_principal_event.py +52 -0
  255. lusid/models/tender_event.py +52 -0
  256. lusid/models/term_deposit.py +52 -0
  257. lusid/models/term_deposit_interest_event.py +52 -0
  258. lusid/models/term_deposit_principal_event.py +52 -0
  259. lusid/models/total_return_swap.py +52 -0
  260. lusid/models/trade_ticket.py +52 -0
  261. lusid/models/transaction.py +52 -0
  262. lusid/models/transaction_configuration_movement_data.py +52 -0
  263. lusid/models/transaction_configuration_movement_data_request.py +52 -0
  264. lusid/models/transaction_configuration_type_alias.py +52 -0
  265. lusid/models/transaction_price.py +52 -0
  266. lusid/models/transaction_query_parameters.py +52 -0
  267. lusid/models/transition_event.py +52 -0
  268. lusid/models/trigger_event.py +52 -0
  269. lusid/models/update_deposit_amount_event.py +52 -0
  270. lusid/models/upsert_reference_portfolio_constituents_request.py +104 -0
  271. lusid/models/vendor_dependency.py +52 -0
  272. lusid/models/vendor_model_rule.py +52 -0
  273. lusid/models/weekend_mask.py +1 -1
  274. lusid/models/yield_curve_data.py +52 -0
  275. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.749.dist-info}/METADATA +1 -1
  276. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.749.dist-info}/RECORD +277 -277
  277. {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.749.dist-info}/WHEEL +0 -0
@@ -37,6 +37,58 @@ class ReconcileDateTimeRule(ReconciliationRule):
37
37
  @validator('comparison_type')
38
38
  def comparison_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 'ReconcileDateTimeRule' 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 "comparison_type" != "type":
90
+ return value
91
+
40
92
  if value not in ('Exact', 'AbsoluteDifference'):
41
93
  raise ValueError("must be one of enum values ('Exact', 'AbsoluteDifference')")
42
94
  return value
@@ -44,6 +96,58 @@ class ReconcileDateTimeRule(ReconciliationRule):
44
96
  @validator('rule_type')
45
97
  def rule_type_validate_enum(cls, value):
46
98
  """Validates the enum"""
99
+
100
+ # Finbourne have removed enum validation on all models, except for this use case:
101
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
102
+ # During instantiation, the value of 'type' is checked against the enum values,
103
+
104
+
105
+ # check it's a class that uses the 'type' property as a discriminator
106
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
107
+ if 'ReconcileDateTimeRule' not in [
108
+ # For notification application classes
109
+ 'AmazonSqsNotificationType',
110
+ 'AmazonSqsNotificationTypeResponse',
111
+ 'AmazonSqsPrincipalAuthNotificationType',
112
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
113
+ 'AzureServiceBusTypeResponse',
114
+ 'AzureServiceBusNotificationType',
115
+ 'EmailNotificationType',
116
+ 'EmailNotificationTypeResponse',
117
+ 'SmsNotificationType',
118
+ 'SmsNotificationTypeResponse',
119
+ 'WebhookNotificationType',
120
+ 'WebhookNotificationTypeResponse',
121
+
122
+ # For workflow application classes
123
+ 'CreateChildTasksAction',
124
+ 'RunWorkerAction',
125
+ 'TriggerParentTaskAction',
126
+ 'CreateChildTasksActionResponse',
127
+ 'RunWorkerActionResponse',
128
+ 'TriggerParentTaskActionResponse',
129
+ 'CreateNewTaskActivity',
130
+ 'UpdateMatchingTasksActivity',
131
+ 'CreateNewTaskActivityResponse',
132
+ 'UpdateMatchingTasksActivityResponse',
133
+ 'Fail',
134
+ 'GroupReconciliation',
135
+ 'HealthCheck',
136
+ 'LuminesceView',
137
+ 'SchedulerJob',
138
+ 'Sleep',
139
+ 'FailResponse',
140
+ 'GroupReconciliationResponse',
141
+ 'HealthCheckResponse',
142
+ 'LuminesceViewResponse',
143
+ 'SchedulerJobResponse',
144
+ 'SleepResponse']:
145
+ return value
146
+
147
+ # Only validate the 'type' property of the class
148
+ if "rule_type" != "type":
149
+ return value
150
+
47
151
  if value not in ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact'):
48
152
  raise ValueError("must be one of enum values ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact')")
49
153
  return value
@@ -37,6 +37,58 @@ class ReconcileNumericRule(ReconciliationRule):
37
37
  @validator('comparison_type')
38
38
  def comparison_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 'ReconcileNumericRule' 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 "comparison_type" != "type":
90
+ return value
91
+
40
92
  if value not in ('Exact', 'AbsoluteDifference', 'RelativeDifference'):
41
93
  raise ValueError("must be one of enum values ('Exact', 'AbsoluteDifference', 'RelativeDifference')")
42
94
  return value
@@ -44,6 +96,58 @@ class ReconcileNumericRule(ReconciliationRule):
44
96
  @validator('rule_type')
45
97
  def rule_type_validate_enum(cls, value):
46
98
  """Validates the enum"""
99
+
100
+ # Finbourne have removed enum validation on all models, except for this use case:
101
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
102
+ # During instantiation, the value of 'type' is checked against the enum values,
103
+
104
+
105
+ # check it's a class that uses the 'type' property as a discriminator
106
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
107
+ if 'ReconcileNumericRule' not in [
108
+ # For notification application classes
109
+ 'AmazonSqsNotificationType',
110
+ 'AmazonSqsNotificationTypeResponse',
111
+ 'AmazonSqsPrincipalAuthNotificationType',
112
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
113
+ 'AzureServiceBusTypeResponse',
114
+ 'AzureServiceBusNotificationType',
115
+ 'EmailNotificationType',
116
+ 'EmailNotificationTypeResponse',
117
+ 'SmsNotificationType',
118
+ 'SmsNotificationTypeResponse',
119
+ 'WebhookNotificationType',
120
+ 'WebhookNotificationTypeResponse',
121
+
122
+ # For workflow application classes
123
+ 'CreateChildTasksAction',
124
+ 'RunWorkerAction',
125
+ 'TriggerParentTaskAction',
126
+ 'CreateChildTasksActionResponse',
127
+ 'RunWorkerActionResponse',
128
+ 'TriggerParentTaskActionResponse',
129
+ 'CreateNewTaskActivity',
130
+ 'UpdateMatchingTasksActivity',
131
+ 'CreateNewTaskActivityResponse',
132
+ 'UpdateMatchingTasksActivityResponse',
133
+ 'Fail',
134
+ 'GroupReconciliation',
135
+ 'HealthCheck',
136
+ 'LuminesceView',
137
+ 'SchedulerJob',
138
+ 'Sleep',
139
+ 'FailResponse',
140
+ 'GroupReconciliationResponse',
141
+ 'HealthCheckResponse',
142
+ 'LuminesceViewResponse',
143
+ 'SchedulerJobResponse',
144
+ 'SleepResponse']:
145
+ return value
146
+
147
+ # Only validate the 'type' property of the class
148
+ if "rule_type" != "type":
149
+ return value
150
+
47
151
  if value not in ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact'):
48
152
  raise ValueError("must be one of enum values ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact')")
49
153
  return value
@@ -37,6 +37,58 @@ class ReconcileStringRule(ReconciliationRule):
37
37
  @validator('comparison_type')
38
38
  def comparison_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 'ReconcileStringRule' 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 "comparison_type" != "type":
90
+ return value
91
+
40
92
  if value not in ('Exact', 'Contains', 'CaseInsensitive', 'ContainsAnyCase', 'IsOneOf', 'IsOneOfCaseInsensitive'):
41
93
  raise ValueError("must be one of enum values ('Exact', 'Contains', 'CaseInsensitive', 'ContainsAnyCase', 'IsOneOf', 'IsOneOfCaseInsensitive')")
42
94
  return value
@@ -44,6 +96,58 @@ class ReconcileStringRule(ReconciliationRule):
44
96
  @validator('rule_type')
45
97
  def rule_type_validate_enum(cls, value):
46
98
  """Validates the enum"""
99
+
100
+ # Finbourne have removed enum validation on all models, except for this use case:
101
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
102
+ # During instantiation, the value of 'type' is checked against the enum values,
103
+
104
+
105
+ # check it's a class that uses the 'type' property as a discriminator
106
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
107
+ if 'ReconcileStringRule' not in [
108
+ # For notification application classes
109
+ 'AmazonSqsNotificationType',
110
+ 'AmazonSqsNotificationTypeResponse',
111
+ 'AmazonSqsPrincipalAuthNotificationType',
112
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
113
+ 'AzureServiceBusTypeResponse',
114
+ 'AzureServiceBusNotificationType',
115
+ 'EmailNotificationType',
116
+ 'EmailNotificationTypeResponse',
117
+ 'SmsNotificationType',
118
+ 'SmsNotificationTypeResponse',
119
+ 'WebhookNotificationType',
120
+ 'WebhookNotificationTypeResponse',
121
+
122
+ # For workflow application classes
123
+ 'CreateChildTasksAction',
124
+ 'RunWorkerAction',
125
+ 'TriggerParentTaskAction',
126
+ 'CreateChildTasksActionResponse',
127
+ 'RunWorkerActionResponse',
128
+ 'TriggerParentTaskActionResponse',
129
+ 'CreateNewTaskActivity',
130
+ 'UpdateMatchingTasksActivity',
131
+ 'CreateNewTaskActivityResponse',
132
+ 'UpdateMatchingTasksActivityResponse',
133
+ 'Fail',
134
+ 'GroupReconciliation',
135
+ 'HealthCheck',
136
+ 'LuminesceView',
137
+ 'SchedulerJob',
138
+ 'Sleep',
139
+ 'FailResponse',
140
+ 'GroupReconciliationResponse',
141
+ 'HealthCheckResponse',
142
+ 'LuminesceViewResponse',
143
+ 'SchedulerJobResponse',
144
+ 'SleepResponse']:
145
+ return value
146
+
147
+ # Only validate the 'type' property of the class
148
+ if "rule_type" != "type":
149
+ return value
150
+
47
151
  if value not in ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact'):
48
152
  raise ValueError("must be one of enum values ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact')")
49
153
  return value
@@ -32,6 +32,58 @@ class ReconciliationRule(BaseModel):
32
32
  @validator('rule_type')
33
33
  def rule_type_validate_enum(cls, value):
34
34
  """Validates the enum"""
35
+
36
+ # Finbourne have removed enum validation on all models, except for this use case:
37
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
38
+ # During instantiation, the value of 'type' is checked against the enum values,
39
+
40
+
41
+ # check it's a class that uses the 'type' property as a discriminator
42
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
43
+ if 'ReconciliationRule' not in [
44
+ # For notification application classes
45
+ 'AmazonSqsNotificationType',
46
+ 'AmazonSqsNotificationTypeResponse',
47
+ 'AmazonSqsPrincipalAuthNotificationType',
48
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
49
+ 'AzureServiceBusTypeResponse',
50
+ 'AzureServiceBusNotificationType',
51
+ 'EmailNotificationType',
52
+ 'EmailNotificationTypeResponse',
53
+ 'SmsNotificationType',
54
+ 'SmsNotificationTypeResponse',
55
+ 'WebhookNotificationType',
56
+ 'WebhookNotificationTypeResponse',
57
+
58
+ # For workflow application classes
59
+ 'CreateChildTasksAction',
60
+ 'RunWorkerAction',
61
+ 'TriggerParentTaskAction',
62
+ 'CreateChildTasksActionResponse',
63
+ 'RunWorkerActionResponse',
64
+ 'TriggerParentTaskActionResponse',
65
+ 'CreateNewTaskActivity',
66
+ 'UpdateMatchingTasksActivity',
67
+ 'CreateNewTaskActivityResponse',
68
+ 'UpdateMatchingTasksActivityResponse',
69
+ 'Fail',
70
+ 'GroupReconciliation',
71
+ 'HealthCheck',
72
+ 'LuminesceView',
73
+ 'SchedulerJob',
74
+ 'Sleep',
75
+ 'FailResponse',
76
+ 'GroupReconciliationResponse',
77
+ 'HealthCheckResponse',
78
+ 'LuminesceViewResponse',
79
+ 'SchedulerJobResponse',
80
+ 'SleepResponse']:
81
+ return value
82
+
83
+ # Only validate the 'type' property of the class
84
+ if "rule_type" != "type":
85
+ return value
86
+
35
87
  if value not in ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact'):
36
88
  raise ValueError("must be one of enum values ('ReconcileNumericRule', 'ReconcileDateTimeRule', 'ReconcileStringRule', 'ReconcileExact')")
37
89
  return value
@@ -36,6 +36,58 @@ class ReferenceInstrument(LusidInstrument):
36
36
  @validator('instrument_type')
37
37
  def instrument_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 'ReferenceInstrument' 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 "instrument_type" != "type":
89
+ return value
90
+
39
91
  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'):
40
92
  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')")
41
93
  return value
@@ -32,6 +32,58 @@ class ReferenceList(BaseModel):
32
32
  @validator('reference_list_type')
33
33
  def reference_list_type_validate_enum(cls, value):
34
34
  """Validates the enum"""
35
+
36
+ # Finbourne have removed enum validation on all models, except for this use case:
37
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
38
+ # During instantiation, the value of 'type' is checked against the enum values,
39
+
40
+
41
+ # check it's a class that uses the 'type' property as a discriminator
42
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
43
+ if 'ReferenceList' not in [
44
+ # For notification application classes
45
+ 'AmazonSqsNotificationType',
46
+ 'AmazonSqsNotificationTypeResponse',
47
+ 'AmazonSqsPrincipalAuthNotificationType',
48
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
49
+ 'AzureServiceBusTypeResponse',
50
+ 'AzureServiceBusNotificationType',
51
+ 'EmailNotificationType',
52
+ 'EmailNotificationTypeResponse',
53
+ 'SmsNotificationType',
54
+ 'SmsNotificationTypeResponse',
55
+ 'WebhookNotificationType',
56
+ 'WebhookNotificationTypeResponse',
57
+
58
+ # For workflow application classes
59
+ 'CreateChildTasksAction',
60
+ 'RunWorkerAction',
61
+ 'TriggerParentTaskAction',
62
+ 'CreateChildTasksActionResponse',
63
+ 'RunWorkerActionResponse',
64
+ 'TriggerParentTaskActionResponse',
65
+ 'CreateNewTaskActivity',
66
+ 'UpdateMatchingTasksActivity',
67
+ 'CreateNewTaskActivityResponse',
68
+ 'UpdateMatchingTasksActivityResponse',
69
+ 'Fail',
70
+ 'GroupReconciliation',
71
+ 'HealthCheck',
72
+ 'LuminesceView',
73
+ 'SchedulerJob',
74
+ 'Sleep',
75
+ 'FailResponse',
76
+ 'GroupReconciliationResponse',
77
+ 'HealthCheckResponse',
78
+ 'LuminesceViewResponse',
79
+ 'SchedulerJobResponse',
80
+ 'SleepResponse']:
81
+ return value
82
+
83
+ # Only validate the 'type' property of the class
84
+ if "reference_list_type" != "type":
85
+ return value
86
+
35
87
  if value not in ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList'):
36
88
  raise ValueError("must be one of enum values ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList')")
37
89
  return value
lusid/models/repo.py CHANGED
@@ -44,6 +44,58 @@ class Repo(LusidInstrument):
44
44
  @validator('instrument_type')
45
45
  def instrument_type_validate_enum(cls, value):
46
46
  """Validates the enum"""
47
+
48
+ # Finbourne have removed enum validation on all models, except for this use case:
49
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
50
+ # During instantiation, the value of 'type' is checked against the enum values,
51
+
52
+
53
+ # check it's a class that uses the 'type' property as a discriminator
54
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
55
+ if 'Repo' not in [
56
+ # For notification application classes
57
+ 'AmazonSqsNotificationType',
58
+ 'AmazonSqsNotificationTypeResponse',
59
+ 'AmazonSqsPrincipalAuthNotificationType',
60
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
61
+ 'AzureServiceBusTypeResponse',
62
+ 'AzureServiceBusNotificationType',
63
+ 'EmailNotificationType',
64
+ 'EmailNotificationTypeResponse',
65
+ 'SmsNotificationType',
66
+ 'SmsNotificationTypeResponse',
67
+ 'WebhookNotificationType',
68
+ 'WebhookNotificationTypeResponse',
69
+
70
+ # For workflow application classes
71
+ 'CreateChildTasksAction',
72
+ 'RunWorkerAction',
73
+ 'TriggerParentTaskAction',
74
+ 'CreateChildTasksActionResponse',
75
+ 'RunWorkerActionResponse',
76
+ 'TriggerParentTaskActionResponse',
77
+ 'CreateNewTaskActivity',
78
+ 'UpdateMatchingTasksActivity',
79
+ 'CreateNewTaskActivityResponse',
80
+ 'UpdateMatchingTasksActivityResponse',
81
+ 'Fail',
82
+ 'GroupReconciliation',
83
+ 'HealthCheck',
84
+ 'LuminesceView',
85
+ 'SchedulerJob',
86
+ 'Sleep',
87
+ 'FailResponse',
88
+ 'GroupReconciliationResponse',
89
+ 'HealthCheckResponse',
90
+ 'LuminesceViewResponse',
91
+ 'SchedulerJobResponse',
92
+ 'SleepResponse']:
93
+ return value
94
+
95
+ # Only validate the 'type' property of the class
96
+ if "instrument_type" != "type":
97
+ return value
98
+
47
99
  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'):
48
100
  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')")
49
101
  return value