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
@@ -57,6 +57,58 @@ class PropertyDefinition(BaseModel):
57
57
  @validator('value_type')
58
58
  def value_type_validate_enum(cls, value):
59
59
  """Validates the enum"""
60
+
61
+ # Finbourne have removed enum validation on all models, except for this use case:
62
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
63
+ # During instantiation, the value of 'type' is checked against the enum values,
64
+
65
+
66
+ # check it's a class that uses the 'type' property as a discriminator
67
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
68
+ if 'PropertyDefinition' not in [
69
+ # For notification application classes
70
+ 'AmazonSqsNotificationType',
71
+ 'AmazonSqsNotificationTypeResponse',
72
+ 'AmazonSqsPrincipalAuthNotificationType',
73
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
74
+ 'AzureServiceBusTypeResponse',
75
+ 'AzureServiceBusNotificationType',
76
+ 'EmailNotificationType',
77
+ 'EmailNotificationTypeResponse',
78
+ 'SmsNotificationType',
79
+ 'SmsNotificationTypeResponse',
80
+ 'WebhookNotificationType',
81
+ 'WebhookNotificationTypeResponse',
82
+
83
+ # For workflow application classes
84
+ 'CreateChildTasksAction',
85
+ 'RunWorkerAction',
86
+ 'TriggerParentTaskAction',
87
+ 'CreateChildTasksActionResponse',
88
+ 'RunWorkerActionResponse',
89
+ 'TriggerParentTaskActionResponse',
90
+ 'CreateNewTaskActivity',
91
+ 'UpdateMatchingTasksActivity',
92
+ 'CreateNewTaskActivityResponse',
93
+ 'UpdateMatchingTasksActivityResponse',
94
+ 'Fail',
95
+ 'GroupReconciliation',
96
+ 'HealthCheck',
97
+ 'LuminesceView',
98
+ 'SchedulerJob',
99
+ 'Sleep',
100
+ 'FailResponse',
101
+ 'GroupReconciliationResponse',
102
+ 'HealthCheckResponse',
103
+ 'LuminesceViewResponse',
104
+ 'SchedulerJobResponse',
105
+ 'SleepResponse']:
106
+ return value
107
+
108
+ # Only validate the 'type' property of the class
109
+ if "value_type" != "type":
110
+ return value
111
+
60
112
  if value is None:
61
113
  return value
62
114
 
@@ -67,6 +119,58 @@ class PropertyDefinition(BaseModel):
67
119
  @validator('type')
68
120
  def type_validate_enum(cls, value):
69
121
  """Validates the enum"""
122
+
123
+ # Finbourne have removed enum validation on all models, except for this use case:
124
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
125
+ # During instantiation, the value of 'type' is checked against the enum values,
126
+
127
+
128
+ # check it's a class that uses the 'type' property as a discriminator
129
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
130
+ if 'PropertyDefinition' not in [
131
+ # For notification application classes
132
+ 'AmazonSqsNotificationType',
133
+ 'AmazonSqsNotificationTypeResponse',
134
+ 'AmazonSqsPrincipalAuthNotificationType',
135
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
136
+ 'AzureServiceBusTypeResponse',
137
+ 'AzureServiceBusNotificationType',
138
+ 'EmailNotificationType',
139
+ 'EmailNotificationTypeResponse',
140
+ 'SmsNotificationType',
141
+ 'SmsNotificationTypeResponse',
142
+ 'WebhookNotificationType',
143
+ 'WebhookNotificationTypeResponse',
144
+
145
+ # For workflow application classes
146
+ 'CreateChildTasksAction',
147
+ 'RunWorkerAction',
148
+ 'TriggerParentTaskAction',
149
+ 'CreateChildTasksActionResponse',
150
+ 'RunWorkerActionResponse',
151
+ 'TriggerParentTaskActionResponse',
152
+ 'CreateNewTaskActivity',
153
+ 'UpdateMatchingTasksActivity',
154
+ 'CreateNewTaskActivityResponse',
155
+ 'UpdateMatchingTasksActivityResponse',
156
+ 'Fail',
157
+ 'GroupReconciliation',
158
+ 'HealthCheck',
159
+ 'LuminesceView',
160
+ 'SchedulerJob',
161
+ 'Sleep',
162
+ 'FailResponse',
163
+ 'GroupReconciliationResponse',
164
+ 'HealthCheckResponse',
165
+ 'LuminesceViewResponse',
166
+ 'SchedulerJobResponse',
167
+ 'SleepResponse']:
168
+ return value
169
+
170
+ # Only validate the 'type' property of the class
171
+ if "type" != "type":
172
+ return value
173
+
70
174
  if value is None:
71
175
  return value
72
176
 
@@ -77,6 +181,58 @@ class PropertyDefinition(BaseModel):
77
181
  @validator('unit_schema')
78
182
  def unit_schema_validate_enum(cls, value):
79
183
  """Validates the enum"""
184
+
185
+ # Finbourne have removed enum validation on all models, except for this use case:
186
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
187
+ # During instantiation, the value of 'type' is checked against the enum values,
188
+
189
+
190
+ # check it's a class that uses the 'type' property as a discriminator
191
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
192
+ if 'PropertyDefinition' not in [
193
+ # For notification application classes
194
+ 'AmazonSqsNotificationType',
195
+ 'AmazonSqsNotificationTypeResponse',
196
+ 'AmazonSqsPrincipalAuthNotificationType',
197
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
198
+ 'AzureServiceBusTypeResponse',
199
+ 'AzureServiceBusNotificationType',
200
+ 'EmailNotificationType',
201
+ 'EmailNotificationTypeResponse',
202
+ 'SmsNotificationType',
203
+ 'SmsNotificationTypeResponse',
204
+ 'WebhookNotificationType',
205
+ 'WebhookNotificationTypeResponse',
206
+
207
+ # For workflow application classes
208
+ 'CreateChildTasksAction',
209
+ 'RunWorkerAction',
210
+ 'TriggerParentTaskAction',
211
+ 'CreateChildTasksActionResponse',
212
+ 'RunWorkerActionResponse',
213
+ 'TriggerParentTaskActionResponse',
214
+ 'CreateNewTaskActivity',
215
+ 'UpdateMatchingTasksActivity',
216
+ 'CreateNewTaskActivityResponse',
217
+ 'UpdateMatchingTasksActivityResponse',
218
+ 'Fail',
219
+ 'GroupReconciliation',
220
+ 'HealthCheck',
221
+ 'LuminesceView',
222
+ 'SchedulerJob',
223
+ 'Sleep',
224
+ 'FailResponse',
225
+ 'GroupReconciliationResponse',
226
+ 'HealthCheckResponse',
227
+ 'LuminesceViewResponse',
228
+ 'SchedulerJobResponse',
229
+ 'SleepResponse']:
230
+ return value
231
+
232
+ # Only validate the 'type' property of the class
233
+ if "unit_schema" != "type":
234
+ return value
235
+
80
236
  if value is None:
81
237
  return value
82
238
 
@@ -87,6 +243,58 @@ class PropertyDefinition(BaseModel):
87
243
  @validator('domain')
88
244
  def domain_validate_enum(cls, value):
89
245
  """Validates the enum"""
246
+
247
+ # Finbourne have removed enum validation on all models, except for this use case:
248
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
249
+ # During instantiation, the value of 'type' is checked against the enum values,
250
+
251
+
252
+ # check it's a class that uses the 'type' property as a discriminator
253
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
254
+ if 'PropertyDefinition' not in [
255
+ # For notification application classes
256
+ 'AmazonSqsNotificationType',
257
+ 'AmazonSqsNotificationTypeResponse',
258
+ 'AmazonSqsPrincipalAuthNotificationType',
259
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
260
+ 'AzureServiceBusTypeResponse',
261
+ 'AzureServiceBusNotificationType',
262
+ 'EmailNotificationType',
263
+ 'EmailNotificationTypeResponse',
264
+ 'SmsNotificationType',
265
+ 'SmsNotificationTypeResponse',
266
+ 'WebhookNotificationType',
267
+ 'WebhookNotificationTypeResponse',
268
+
269
+ # For workflow application classes
270
+ 'CreateChildTasksAction',
271
+ 'RunWorkerAction',
272
+ 'TriggerParentTaskAction',
273
+ 'CreateChildTasksActionResponse',
274
+ 'RunWorkerActionResponse',
275
+ 'TriggerParentTaskActionResponse',
276
+ 'CreateNewTaskActivity',
277
+ 'UpdateMatchingTasksActivity',
278
+ 'CreateNewTaskActivityResponse',
279
+ 'UpdateMatchingTasksActivityResponse',
280
+ 'Fail',
281
+ 'GroupReconciliation',
282
+ 'HealthCheck',
283
+ 'LuminesceView',
284
+ 'SchedulerJob',
285
+ 'Sleep',
286
+ 'FailResponse',
287
+ 'GroupReconciliationResponse',
288
+ 'HealthCheckResponse',
289
+ 'LuminesceViewResponse',
290
+ 'SchedulerJobResponse',
291
+ 'SleepResponse']:
292
+ return value
293
+
294
+ # Only validate the 'type' property of the class
295
+ if "domain" != "type":
296
+ return value
297
+
90
298
  if value is None:
91
299
  return value
92
300
 
@@ -97,6 +305,58 @@ class PropertyDefinition(BaseModel):
97
305
  @validator('life_time')
98
306
  def life_time_validate_enum(cls, value):
99
307
  """Validates the enum"""
308
+
309
+ # Finbourne have removed enum validation on all models, except for this use case:
310
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
311
+ # During instantiation, the value of 'type' is checked against the enum values,
312
+
313
+
314
+ # check it's a class that uses the 'type' property as a discriminator
315
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
316
+ if 'PropertyDefinition' not in [
317
+ # For notification application classes
318
+ 'AmazonSqsNotificationType',
319
+ 'AmazonSqsNotificationTypeResponse',
320
+ 'AmazonSqsPrincipalAuthNotificationType',
321
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
322
+ 'AzureServiceBusTypeResponse',
323
+ 'AzureServiceBusNotificationType',
324
+ 'EmailNotificationType',
325
+ 'EmailNotificationTypeResponse',
326
+ 'SmsNotificationType',
327
+ 'SmsNotificationTypeResponse',
328
+ 'WebhookNotificationType',
329
+ 'WebhookNotificationTypeResponse',
330
+
331
+ # For workflow application classes
332
+ 'CreateChildTasksAction',
333
+ 'RunWorkerAction',
334
+ 'TriggerParentTaskAction',
335
+ 'CreateChildTasksActionResponse',
336
+ 'RunWorkerActionResponse',
337
+ 'TriggerParentTaskActionResponse',
338
+ 'CreateNewTaskActivity',
339
+ 'UpdateMatchingTasksActivity',
340
+ 'CreateNewTaskActivityResponse',
341
+ 'UpdateMatchingTasksActivityResponse',
342
+ 'Fail',
343
+ 'GroupReconciliation',
344
+ 'HealthCheck',
345
+ 'LuminesceView',
346
+ 'SchedulerJob',
347
+ 'Sleep',
348
+ 'FailResponse',
349
+ 'GroupReconciliationResponse',
350
+ 'HealthCheckResponse',
351
+ 'LuminesceViewResponse',
352
+ 'SchedulerJobResponse',
353
+ 'SleepResponse']:
354
+ return value
355
+
356
+ # Only validate the 'type' property of the class
357
+ if "life_time" != "type":
358
+ return value
359
+
100
360
  if value is None:
101
361
  return value
102
362
 
@@ -107,6 +367,58 @@ class PropertyDefinition(BaseModel):
107
367
  @validator('property_definition_type')
108
368
  def property_definition_type_validate_enum(cls, value):
109
369
  """Validates the enum"""
370
+
371
+ # Finbourne have removed enum validation on all models, except for this use case:
372
+ # Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
373
+ # During instantiation, the value of 'type' is checked against the enum values,
374
+
375
+
376
+ # check it's a class that uses the 'type' property as a discriminator
377
+ # list of classes can be found by searching for 'actual_instance: Union[' in the generated code
378
+ if 'PropertyDefinition' not in [
379
+ # For notification application classes
380
+ 'AmazonSqsNotificationType',
381
+ 'AmazonSqsNotificationTypeResponse',
382
+ 'AmazonSqsPrincipalAuthNotificationType',
383
+ 'AmazonSqsPrincipalAuthNotificationTypeResponse',
384
+ 'AzureServiceBusTypeResponse',
385
+ 'AzureServiceBusNotificationType',
386
+ 'EmailNotificationType',
387
+ 'EmailNotificationTypeResponse',
388
+ 'SmsNotificationType',
389
+ 'SmsNotificationTypeResponse',
390
+ 'WebhookNotificationType',
391
+ 'WebhookNotificationTypeResponse',
392
+
393
+ # For workflow application classes
394
+ 'CreateChildTasksAction',
395
+ 'RunWorkerAction',
396
+ 'TriggerParentTaskAction',
397
+ 'CreateChildTasksActionResponse',
398
+ 'RunWorkerActionResponse',
399
+ 'TriggerParentTaskActionResponse',
400
+ 'CreateNewTaskActivity',
401
+ 'UpdateMatchingTasksActivity',
402
+ 'CreateNewTaskActivityResponse',
403
+ 'UpdateMatchingTasksActivityResponse',
404
+ 'Fail',
405
+ 'GroupReconciliation',
406
+ 'HealthCheck',
407
+ 'LuminesceView',
408
+ 'SchedulerJob',
409
+ 'Sleep',
410
+ 'FailResponse',
411
+ 'GroupReconciliationResponse',
412
+ 'HealthCheckResponse',
413
+ 'LuminesceViewResponse',
414
+ 'SchedulerJobResponse',
415
+ 'SleepResponse']:
416
+ return value
417
+
418
+ # Only validate the 'type' property of the class
419
+ if "property_definition_type" != "type":
420
+ return value
421
+
110
422
  if value is None:
111
423
  return value
112
424