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
@@ -56,6 +56,58 @@ class Instrument(BaseModel):
56
56
  @validator('state')
57
57
  def state_validate_enum(cls, value):
58
58
  """Validates the enum"""
59
+
60
+ # Finbourne have removed enum validation on all models, except for this use case:
61
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
62
+ # During instantiation, the value of 'type' is checked against the enum values,
63
+
64
+
65
+ # check it's a class that uses the 'type' property as a discriminator
66
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
67
+ if 'Instrument' not in [
68
+ # For notification application classes
69
+ 'AmazonSqsNotificationType',
70
+ 'AmazonSqsNotificationTypeResponse',
71
+ 'AmazonSqsPrincipalAuthNotificationType',
72
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
73
+ 'AzureServiceBusTypeResponse',
74
+ 'AzureServiceBusNotificationType',
75
+ 'EmailNotificationType',
76
+ 'EmailNotificationTypeResponse',
77
+ 'SmsNotificationType',
78
+ 'SmsNotificationTypeResponse',
79
+ 'WebhookNotificationType',
80
+ 'WebhookNotificationTypeResponse',
81
+
82
+ # For workflow application classes
83
+ 'CreateChildTasksAction',
84
+ 'RunWorkerAction',
85
+ 'TriggerParentTaskAction',
86
+ 'CreateChildTasksActionResponse',
87
+ 'RunWorkerActionResponse',
88
+ 'TriggerParentTaskActionResponse',
89
+ 'CreateNewTaskActivity',
90
+ 'UpdateMatchingTasksActivity',
91
+ 'CreateNewTaskActivityResponse',
92
+ 'UpdateMatchingTasksActivityResponse',
93
+ 'Fail',
94
+ 'GroupReconciliation',
95
+ 'HealthCheck',
96
+ 'LuminesceView',
97
+ 'SchedulerJob',
98
+ 'Sleep',
99
+ 'FailResponse',
100
+ 'GroupReconciliationResponse',
101
+ 'HealthCheckResponse',
102
+ 'LuminesceViewResponse',
103
+ 'SchedulerJobResponse',
104
+ 'SleepResponse']:
105
+ return value
106
+
107
+ # Only validate the 'type' property of the class
108
+ if "state" != "type":
109
+ return value
110
+
59
111
  if value not in ('Active', 'Inactive', 'Deleted'):
60
112
  raise ValueError("must be one of enum values ('Active', 'Inactive', 'Deleted')")
61
113
  return value
@@ -63,6 +115,58 @@ class Instrument(BaseModel):
63
115
  @validator('asset_class')
64
116
  def asset_class_validate_enum(cls, value):
65
117
  """Validates the enum"""
118
+
119
+ # Finbourne have removed enum validation on all models, except for this use case:
120
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
121
+ # During instantiation, the value of 'type' is checked against the enum values,
122
+
123
+
124
+ # check it's a class that uses the 'type' property as a discriminator
125
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
126
+ if 'Instrument' not in [
127
+ # For notification application classes
128
+ 'AmazonSqsNotificationType',
129
+ 'AmazonSqsNotificationTypeResponse',
130
+ 'AmazonSqsPrincipalAuthNotificationType',
131
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
132
+ 'AzureServiceBusTypeResponse',
133
+ 'AzureServiceBusNotificationType',
134
+ 'EmailNotificationType',
135
+ 'EmailNotificationTypeResponse',
136
+ 'SmsNotificationType',
137
+ 'SmsNotificationTypeResponse',
138
+ 'WebhookNotificationType',
139
+ 'WebhookNotificationTypeResponse',
140
+
141
+ # For workflow application classes
142
+ 'CreateChildTasksAction',
143
+ 'RunWorkerAction',
144
+ 'TriggerParentTaskAction',
145
+ 'CreateChildTasksActionResponse',
146
+ 'RunWorkerActionResponse',
147
+ 'TriggerParentTaskActionResponse',
148
+ 'CreateNewTaskActivity',
149
+ 'UpdateMatchingTasksActivity',
150
+ 'CreateNewTaskActivityResponse',
151
+ 'UpdateMatchingTasksActivityResponse',
152
+ 'Fail',
153
+ 'GroupReconciliation',
154
+ 'HealthCheck',
155
+ 'LuminesceView',
156
+ 'SchedulerJob',
157
+ 'Sleep',
158
+ 'FailResponse',
159
+ 'GroupReconciliationResponse',
160
+ 'HealthCheckResponse',
161
+ 'LuminesceViewResponse',
162
+ 'SchedulerJobResponse',
163
+ 'SleepResponse']:
164
+ return value
165
+
166
+ # Only validate the 'type' property of the class
167
+ if "asset_class" != "type":
168
+ return value
169
+
66
170
  if value is None:
67
171
  return value
68
172
 
@@ -32,6 +32,58 @@ class InstrumentEvent(BaseModel):
32
32
  @validator('instrument_event_type')
33
33
  def instrument_event_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 'InstrumentEvent' 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 "instrument_event_type" != "type":
85
+ return value
86
+
35
87
  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'):
36
88
  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')")
37
89
  return value
@@ -34,6 +34,58 @@ class InstrumentLeg(LusidInstrument):
34
34
  @validator('instrument_type')
35
35
  def instrument_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
+
38
+ # Finbourne have removed enum validation on all models, except for this use case:
39
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
40
+ # During instantiation, the value of 'type' is checked against the enum values,
41
+
42
+
43
+ # check it's a class that uses the 'type' property as a discriminator
44
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
45
+ if 'InstrumentLeg' not in [
46
+ # For notification application classes
47
+ 'AmazonSqsNotificationType',
48
+ 'AmazonSqsNotificationTypeResponse',
49
+ 'AmazonSqsPrincipalAuthNotificationType',
50
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
51
+ 'AzureServiceBusTypeResponse',
52
+ 'AzureServiceBusNotificationType',
53
+ 'EmailNotificationType',
54
+ 'EmailNotificationTypeResponse',
55
+ 'SmsNotificationType',
56
+ 'SmsNotificationTypeResponse',
57
+ 'WebhookNotificationType',
58
+ 'WebhookNotificationTypeResponse',
59
+
60
+ # For workflow application classes
61
+ 'CreateChildTasksAction',
62
+ 'RunWorkerAction',
63
+ 'TriggerParentTaskAction',
64
+ 'CreateChildTasksActionResponse',
65
+ 'RunWorkerActionResponse',
66
+ 'TriggerParentTaskActionResponse',
67
+ 'CreateNewTaskActivity',
68
+ 'UpdateMatchingTasksActivity',
69
+ 'CreateNewTaskActivityResponse',
70
+ 'UpdateMatchingTasksActivityResponse',
71
+ 'Fail',
72
+ 'GroupReconciliation',
73
+ 'HealthCheck',
74
+ 'LuminesceView',
75
+ 'SchedulerJob',
76
+ 'Sleep',
77
+ 'FailResponse',
78
+ 'GroupReconciliationResponse',
79
+ 'HealthCheckResponse',
80
+ 'LuminesceViewResponse',
81
+ 'SchedulerJobResponse',
82
+ 'SleepResponse']:
83
+ return value
84
+
85
+ # Only validate the 'type' property of the class
86
+ if "instrument_type" != "type":
87
+ return value
88
+
37
89
  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'):
38
90
  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')")
39
91
  return value
@@ -34,6 +34,58 @@ class InstrumentList(ReferenceList):
34
34
  @validator('reference_list_type')
35
35
  def reference_list_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
+
38
+ # Finbourne have removed enum validation on all models, except for this use case:
39
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
40
+ # During instantiation, the value of 'type' is checked against the enum values,
41
+
42
+
43
+ # check it's a class that uses the 'type' property as a discriminator
44
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
45
+ if 'InstrumentList' not in [
46
+ # For notification application classes
47
+ 'AmazonSqsNotificationType',
48
+ 'AmazonSqsNotificationTypeResponse',
49
+ 'AmazonSqsPrincipalAuthNotificationType',
50
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
51
+ 'AzureServiceBusTypeResponse',
52
+ 'AzureServiceBusNotificationType',
53
+ 'EmailNotificationType',
54
+ 'EmailNotificationTypeResponse',
55
+ 'SmsNotificationType',
56
+ 'SmsNotificationTypeResponse',
57
+ 'WebhookNotificationType',
58
+ 'WebhookNotificationTypeResponse',
59
+
60
+ # For workflow application classes
61
+ 'CreateChildTasksAction',
62
+ 'RunWorkerAction',
63
+ 'TriggerParentTaskAction',
64
+ 'CreateChildTasksActionResponse',
65
+ 'RunWorkerActionResponse',
66
+ 'TriggerParentTaskActionResponse',
67
+ 'CreateNewTaskActivity',
68
+ 'UpdateMatchingTasksActivity',
69
+ 'CreateNewTaskActivityResponse',
70
+ 'UpdateMatchingTasksActivityResponse',
71
+ 'Fail',
72
+ 'GroupReconciliation',
73
+ 'HealthCheck',
74
+ 'LuminesceView',
75
+ 'SchedulerJob',
76
+ 'Sleep',
77
+ 'FailResponse',
78
+ 'GroupReconciliationResponse',
79
+ 'HealthCheckResponse',
80
+ 'LuminesceViewResponse',
81
+ 'SchedulerJobResponse',
82
+ 'SleepResponse']:
83
+ return value
84
+
85
+ # Only validate the 'type' property of the class
86
+ if "reference_list_type" != "type":
87
+ return value
88
+
37
89
  if value not in ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList'):
38
90
  raise ValueError("must be one of enum values ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList')")
39
91
  return value
@@ -35,6 +35,58 @@ class InstrumentListComplianceParameter(ComplianceParameter):
35
35
  @validator('compliance_parameter_type')
36
36
  def compliance_parameter_type_validate_enum(cls, value):
37
37
  """Validates the enum"""
38
+
39
+ # Finbourne have removed enum validation on all models, except for this use case:
40
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
41
+ # During instantiation, the value of 'type' is checked against the enum values,
42
+
43
+
44
+ # check it's a class that uses the 'type' property as a discriminator
45
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
46
+ if 'InstrumentListComplianceParameter' not in [
47
+ # For notification application classes
48
+ 'AmazonSqsNotificationType',
49
+ 'AmazonSqsNotificationTypeResponse',
50
+ 'AmazonSqsPrincipalAuthNotificationType',
51
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
52
+ 'AzureServiceBusTypeResponse',
53
+ 'AzureServiceBusNotificationType',
54
+ 'EmailNotificationType',
55
+ 'EmailNotificationTypeResponse',
56
+ 'SmsNotificationType',
57
+ 'SmsNotificationTypeResponse',
58
+ 'WebhookNotificationType',
59
+ 'WebhookNotificationTypeResponse',
60
+
61
+ # For workflow application classes
62
+ 'CreateChildTasksAction',
63
+ 'RunWorkerAction',
64
+ 'TriggerParentTaskAction',
65
+ 'CreateChildTasksActionResponse',
66
+ 'RunWorkerActionResponse',
67
+ 'TriggerParentTaskActionResponse',
68
+ 'CreateNewTaskActivity',
69
+ 'UpdateMatchingTasksActivity',
70
+ 'CreateNewTaskActivityResponse',
71
+ 'UpdateMatchingTasksActivityResponse',
72
+ 'Fail',
73
+ 'GroupReconciliation',
74
+ 'HealthCheck',
75
+ 'LuminesceView',
76
+ 'SchedulerJob',
77
+ 'Sleep',
78
+ 'FailResponse',
79
+ 'GroupReconciliationResponse',
80
+ 'HealthCheckResponse',
81
+ 'LuminesceViewResponse',
82
+ 'SchedulerJobResponse',
83
+ 'SleepResponse']:
84
+ return value
85
+
86
+ # Only validate the 'type' property of the class
87
+ if "compliance_parameter_type" != "type":
88
+ return value
89
+
38
90
  if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter'):
39
91
  raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter')")
40
92
  return value
@@ -41,6 +41,58 @@ class InterestRateSwap(LusidInstrument):
41
41
  @validator('instrument_type')
42
42
  def instrument_type_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 'InterestRateSwap' 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 "instrument_type" != "type":
94
+ return value
95
+
44
96
  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'):
45
97
  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')")
46
98
  return value
@@ -40,6 +40,58 @@ class InterestRateSwaption(LusidInstrument):
40
40
  @validator('instrument_type')
41
41
  def instrument_type_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 'InterestRateSwaption' 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 "instrument_type" != "type":
93
+ return value
94
+
43
95
  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'):
44
96
  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')")
45
97
  return value
@@ -36,6 +36,58 @@ class IntermediateComplianceStep(ComplianceStep):
36
36
  @validator('compliance_step_type')
37
37
  def compliance_step_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 'IntermediateComplianceStep' 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 "compliance_step_type" != "type":
89
+ return value
90
+
39
91
  if value not in ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep', 'PercentCheckStep'):
40
92
  raise ValueError("must be one of enum values ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep', 'PercentCheckStep')")
41
93
  return value
@@ -34,6 +34,58 @@ class IntermediateComplianceStepRequest(ComplianceStepRequest):
34
34
  @validator('compliance_step_type_request')
35
35
  def compliance_step_type_request_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
+
38
+ # Finbourne have removed enum validation on all models, except for this use case:
39
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
40
+ # During instantiation, the value of 'type' is checked against the enum values,
41
+
42
+
43
+ # check it's a class that uses the 'type' property as a discriminator
44
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
45
+ if 'IntermediateComplianceStepRequest' not in [
46
+ # For notification application classes
47
+ 'AmazonSqsNotificationType',
48
+ 'AmazonSqsNotificationTypeResponse',
49
+ 'AmazonSqsPrincipalAuthNotificationType',
50
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
51
+ 'AzureServiceBusTypeResponse',
52
+ 'AzureServiceBusNotificationType',
53
+ 'EmailNotificationType',
54
+ 'EmailNotificationTypeResponse',
55
+ 'SmsNotificationType',
56
+ 'SmsNotificationTypeResponse',
57
+ 'WebhookNotificationType',
58
+ 'WebhookNotificationTypeResponse',
59
+
60
+ # For workflow application classes
61
+ 'CreateChildTasksAction',
62
+ 'RunWorkerAction',
63
+ 'TriggerParentTaskAction',
64
+ 'CreateChildTasksActionResponse',
65
+ 'RunWorkerActionResponse',
66
+ 'TriggerParentTaskActionResponse',
67
+ 'CreateNewTaskActivity',
68
+ 'UpdateMatchingTasksActivity',
69
+ 'CreateNewTaskActivityResponse',
70
+ 'UpdateMatchingTasksActivityResponse',
71
+ 'Fail',
72
+ 'GroupReconciliation',
73
+ 'HealthCheck',
74
+ 'LuminesceView',
75
+ 'SchedulerJob',
76
+ 'Sleep',
77
+ 'FailResponse',
78
+ 'GroupReconciliationResponse',
79
+ 'HealthCheckResponse',
80
+ 'LuminesceViewResponse',
81
+ 'SchedulerJobResponse',
82
+ 'SleepResponse']:
83
+ return value
84
+
85
+ # Only validate the 'type' property of the class
86
+ if "compliance_step_type_request" != "type":
87
+ return value
88
+
37
89
  if value not in ('FilterStepRequest', 'GroupByStepRequest', 'GroupFilterStepRequest', 'BranchStepRequest', 'CheckStepRequest', 'PercentCheckStepRequest'):
38
90
  raise ValueError("must be one of enum values ('FilterStepRequest', 'GroupByStepRequest', 'GroupFilterStepRequest', 'BranchStepRequest', 'CheckStepRequest', 'PercentCheckStepRequest')")
39
91
  return value