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.
- lusid/configuration.py +1 -1
- lusid/models/access_metadata_operation.py +52 -0
- lusid/models/account.py +52 -0
- lusid/models/accumulation_event.py +52 -0
- lusid/models/address_definition.py +52 -0
- lusid/models/address_key_compliance_parameter.py +52 -0
- lusid/models/address_key_list.py +52 -0
- lusid/models/address_key_list_compliance_parameter.py +52 -0
- lusid/models/adjust_global_commitment_event.py +52 -0
- lusid/models/aggregate_spec.py +53 -1
- lusid/models/aggregation_query.py +104 -0
- lusid/models/amortisation_event.py +52 -0
- lusid/models/append_fx_forward_curve_by_quote_reference.py +52 -0
- lusid/models/append_fx_forward_curve_data.py +52 -0
- lusid/models/append_fx_forward_pips_curve_data.py +52 -0
- lusid/models/append_fx_forward_tenor_curve_data.py +52 -0
- lusid/models/append_fx_forward_tenor_pips_curve_data.py +52 -0
- lusid/models/append_market_data.py +52 -0
- lusid/models/basket.py +52 -0
- lusid/models/bond.py +52 -0
- lusid/models/bond_conversion_schedule.py +52 -0
- lusid/models/bond_coupon_event.py +52 -0
- lusid/models/bond_default_event.py +52 -0
- lusid/models/bond_principal_event.py +52 -0
- lusid/models/bonus_issue_event.py +52 -0
- lusid/models/bool_compliance_parameter.py +52 -0
- lusid/models/bool_list_compliance_parameter.py +52 -0
- lusid/models/branch_step.py +52 -0
- lusid/models/branch_step_request.py +52 -0
- lusid/models/calendar_dependency.py +52 -0
- lusid/models/call_on_intermediate_securities_event.py +52 -0
- lusid/models/cap_floor.py +52 -0
- lusid/models/capital_distribution_event.py +52 -0
- lusid/models/cash.py +52 -0
- lusid/models/cash_dependency.py +52 -0
- lusid/models/cash_dividend_event.py +52 -0
- lusid/models/cash_flow_event.py +52 -0
- lusid/models/cash_flow_value.py +52 -0
- lusid/models/cash_flow_value_set.py +52 -0
- lusid/models/cash_perpetual.py +52 -0
- lusid/models/cds_credit_event.py +52 -0
- lusid/models/cds_index.py +52 -0
- lusid/models/cdx_credit_event.py +52 -0
- lusid/models/change_history.py +52 -0
- lusid/models/check_step.py +52 -0
- lusid/models/check_step_request.py +52 -0
- lusid/models/close_event.py +52 -0
- lusid/models/complete_portfolio.py +52 -0
- lusid/models/complex_bond.py +52 -0
- lusid/models/complex_market_data.py +52 -0
- lusid/models/compliance_parameter.py +52 -0
- lusid/models/compliance_step.py +52 -0
- lusid/models/compliance_step_request.py +52 -0
- lusid/models/constant_volatility_surface.py +52 -0
- lusid/models/contract_for_difference.py +52 -0
- lusid/models/contract_initialisation_event.py +52 -0
- lusid/models/create_data_type_request.py +156 -0
- lusid/models/create_derived_property_definition_request.py +52 -0
- lusid/models/create_derived_transaction_portfolio_request.py +52 -0
- lusid/models/create_identifier_definition_request.py +104 -0
- lusid/models/create_property_definition_request.py +104 -0
- lusid/models/create_simple_position_portfolio_request.py +52 -0
- lusid/models/create_transaction_portfolio_request.py +52 -0
- lusid/models/credit_default_swap.py +52 -0
- lusid/models/credit_premium_cash_flow_event.py +52 -0
- lusid/models/credit_spread_curve_data.py +52 -0
- lusid/models/curve_options.py +52 -0
- lusid/models/data_type.py +156 -0
- lusid/models/data_type_summary.py +156 -0
- lusid/models/date_time_compliance_parameter.py +52 -0
- lusid/models/date_time_list_compliance_parameter.py +52 -0
- lusid/models/decimal_compliance_parameter.py +52 -0
- lusid/models/decimal_list.py +52 -0
- lusid/models/decimal_list_compliance_parameter.py +52 -0
- lusid/models/deposit_close_event.py +52 -0
- lusid/models/deposit_interest_payment_event.py +52 -0
- lusid/models/discount_factor_curve_data.py +52 -0
- lusid/models/discounting_dependency.py +52 -0
- lusid/models/dividend_option_event.py +52 -0
- lusid/models/dividend_reinvestment_event.py +52 -0
- lusid/models/drawdown_event.py +52 -0
- lusid/models/early_redemption_event.py +52 -0
- lusid/models/economic_dependency.py +52 -0
- lusid/models/empty_model_options.py +52 -0
- lusid/models/equity.py +52 -0
- lusid/models/equity_curve_by_prices_data.py +52 -0
- lusid/models/equity_curve_dependency.py +52 -0
- lusid/models/equity_model_options.py +52 -0
- lusid/models/equity_option.py +52 -0
- lusid/models/equity_swap.py +52 -0
- lusid/models/equity_vol_dependency.py +52 -0
- lusid/models/equity_vol_surface_data.py +52 -0
- lusid/models/exchange_traded_option.py +52 -0
- lusid/models/exercise_event.py +52 -0
- lusid/models/exotic_instrument.py +52 -0
- lusid/models/expiry_event.py +52 -0
- lusid/models/field_schema.py +52 -0
- lusid/models/filter_predicate_compliance_parameter.py +52 -0
- lusid/models/filter_step.py +52 -0
- lusid/models/filter_step_request.py +52 -0
- lusid/models/fixed_leg.py +52 -0
- lusid/models/fixed_schedule.py +52 -0
- lusid/models/flexible_deposit.py +52 -0
- lusid/models/flexible_loan.py +52 -0
- lusid/models/float_schedule.py +52 -0
- lusid/models/floating_leg.py +52 -0
- lusid/models/forward_rate_agreement.py +52 -0
- lusid/models/fund_id_list.py +52 -0
- lusid/models/fund_share_class.py +52 -0
- lusid/models/funding_leg.py +52 -0
- lusid/models/funding_leg_options.py +52 -0
- lusid/models/future.py +52 -0
- lusid/models/future_expiry_event.py +52 -0
- lusid/models/future_mark_to_market_event.py +52 -0
- lusid/models/fx_dependency.py +52 -0
- lusid/models/fx_forward.py +52 -0
- lusid/models/fx_forward_curve_by_quote_reference.py +52 -0
- lusid/models/fx_forward_curve_data.py +52 -0
- lusid/models/fx_forward_model_options.py +156 -0
- lusid/models/fx_forward_pips_curve_data.py +52 -0
- lusid/models/fx_forward_settlement_event.py +52 -0
- lusid/models/fx_forward_tenor_curve_data.py +52 -0
- lusid/models/fx_forward_tenor_pips_curve_data.py +52 -0
- lusid/models/fx_forwards_dependency.py +52 -0
- lusid/models/fx_linked_notional_schedule.py +52 -0
- lusid/models/fx_option.py +52 -0
- lusid/models/fx_rate_schedule.py +52 -0
- lusid/models/fx_swap.py +52 -0
- lusid/models/fx_vol_dependency.py +52 -0
- lusid/models/fx_vol_surface_data.py +52 -0
- lusid/models/get_reference_portfolio_constituents_response.py +104 -0
- lusid/models/group_by_selector_compliance_parameter.py +52 -0
- lusid/models/group_by_step.py +52 -0
- lusid/models/group_by_step_request.py +52 -0
- lusid/models/group_calculation_compliance_parameter.py +52 -0
- lusid/models/group_filter_predicate_compliance_parameter.py +52 -0
- lusid/models/group_filter_step.py +52 -0
- lusid/models/group_filter_step_request.py +52 -0
- lusid/models/holdings_adjustment.py +52 -0
- lusid/models/holdings_adjustment_header.py +52 -0
- lusid/models/i_unit_definition_dto.py +52 -0
- lusid/models/identifier_definition.py +104 -0
- lusid/models/index_model_options.py +104 -0
- lusid/models/index_projection_dependency.py +52 -0
- lusid/models/inflation_fixing_dependency.py +52 -0
- lusid/models/inflation_leg.py +52 -0
- lusid/models/inflation_linked_bond.py +52 -0
- lusid/models/inflation_swap.py +52 -0
- lusid/models/informational_error_event.py +52 -0
- lusid/models/informational_event.py +52 -0
- lusid/models/instrument.py +104 -0
- lusid/models/instrument_event.py +52 -0
- lusid/models/instrument_leg.py +52 -0
- lusid/models/instrument_list.py +52 -0
- lusid/models/instrument_list_compliance_parameter.py +52 -0
- lusid/models/interest_rate_swap.py +52 -0
- lusid/models/interest_rate_swaption.py +52 -0
- lusid/models/intermediate_compliance_step.py +52 -0
- lusid/models/intermediate_compliance_step_request.py +52 -0
- lusid/models/intermediate_securities_distribution_event.py +52 -0
- lusid/models/ir_vol_cube_data.py +52 -0
- lusid/models/ir_vol_dependency.py +52 -0
- lusid/models/life_cycle_event_value.py +52 -0
- lusid/models/loan_facility.py +52 -0
- lusid/models/loan_interest_repayment_event.py +52 -0
- lusid/models/loan_principal_repayment_event.py +52 -0
- lusid/models/lusid_instrument.py +52 -0
- lusid/models/lusid_trade_ticket.py +52 -0
- lusid/models/market_data_key_rule.py +52 -0
- lusid/models/market_data_options.py +52 -0
- lusid/models/market_data_specific_rule.py +52 -0
- lusid/models/market_quote.py +52 -0
- lusid/models/mastered_instrument.py +52 -0
- lusid/models/match_criterion.py +52 -0
- lusid/models/maturity_event.py +52 -0
- lusid/models/mbs_coupon_event.py +52 -0
- lusid/models/mbs_interest_deferral_event.py +52 -0
- lusid/models/mbs_interest_shortfall_event.py +52 -0
- lusid/models/mbs_principal_event.py +52 -0
- lusid/models/mbs_principal_write_off_event.py +52 -0
- lusid/models/merger_event.py +52 -0
- lusid/models/model_options.py +52 -0
- lusid/models/model_selection.py +104 -0
- lusid/models/opaque_dependency.py +52 -0
- lusid/models/opaque_market_data.py +52 -0
- lusid/models/opaque_model_options.py +53 -1
- lusid/models/open_event.py +52 -0
- lusid/models/option_exercise_cash_event.py +52 -0
- lusid/models/option_exercise_physical_event.py +52 -0
- lusid/models/optionality_schedule.py +52 -0
- lusid/models/order_by_spec.py +52 -0
- lusid/models/output_transaction.py +52 -0
- lusid/models/percent_check_step.py +52 -0
- lusid/models/percent_check_step_request.py +52 -0
- lusid/models/portfolio.py +104 -0
- lusid/models/portfolio_details.py +52 -0
- lusid/models/portfolio_group_id_compliance_parameter.py +52 -0
- lusid/models/portfolio_group_id_list.py +52 -0
- lusid/models/portfolio_group_id_list_compliance_parameter.py +52 -0
- lusid/models/portfolio_id_compliance_parameter.py +52 -0
- lusid/models/portfolio_id_list.py +52 -0
- lusid/models/portfolio_id_list_compliance_parameter.py +52 -0
- lusid/models/portfolio_result_data_key_rule.py +52 -0
- lusid/models/portfolio_search_result.py +52 -0
- lusid/models/portfolio_without_href.py +104 -0
- lusid/models/property_definition.py +312 -0
- lusid/models/property_definition_search_result.py +312 -0
- lusid/models/property_filter.py +104 -0
- lusid/models/property_key_compliance_parameter.py +52 -0
- lusid/models/property_key_list_compliance_parameter.py +52 -0
- lusid/models/property_list.py +52 -0
- lusid/models/property_list_compliance_parameter.py +52 -0
- lusid/models/property_value_equals.py +52 -0
- lusid/models/property_value_in.py +52 -0
- lusid/models/protection_payout_cash_flow_event.py +52 -0
- lusid/models/quote_dependency.py +52 -0
- lusid/models/quote_series_id.py +104 -0
- lusid/models/raw_vendor_event.py +52 -0
- lusid/models/recombine_step.py +52 -0
- lusid/models/reconcile_date_time_rule.py +104 -0
- lusid/models/reconcile_numeric_rule.py +104 -0
- lusid/models/reconcile_string_rule.py +104 -0
- lusid/models/reconciliation_line.py +4 -4
- lusid/models/reconciliation_rule.py +52 -0
- lusid/models/reference_instrument.py +52 -0
- lusid/models/reference_list.py +52 -0
- lusid/models/repo.py +52 -0
- lusid/models/reset_event.py +52 -0
- lusid/models/resource_list_of_value_type.py +1 -1
- lusid/models/result_data_key_rule.py +52 -0
- lusid/models/result_key_rule.py +52 -0
- lusid/models/result_value.py +52 -0
- lusid/models/result_value0_d.py +52 -0
- lusid/models/result_value_bool.py +52 -0
- lusid/models/result_value_currency.py +52 -0
- lusid/models/result_value_date_time_offset.py +52 -0
- lusid/models/result_value_decimal.py +52 -0
- lusid/models/result_value_dictionary.py +52 -0
- lusid/models/result_value_int.py +52 -0
- lusid/models/result_value_string.py +52 -0
- lusid/models/reverse_stock_split_event.py +52 -0
- lusid/models/schedule.py +52 -0
- lusid/models/scrip_dividend_event.py +52 -0
- lusid/models/simple_cash_flow_loan.py +52 -0
- lusid/models/simple_instrument.py +104 -0
- lusid/models/spin_off_event.py +52 -0
- lusid/models/step_schedule.py +52 -0
- lusid/models/stock_dividend_event.py +52 -0
- lusid/models/stock_split_event.py +52 -0
- lusid/models/string_compliance_parameter.py +52 -0
- lusid/models/string_list.py +52 -0
- lusid/models/string_list_compliance_parameter.py +52 -0
- lusid/models/sub_holding_key_value_equals.py +52 -0
- lusid/models/swap_cash_flow_event.py +52 -0
- lusid/models/swap_principal_event.py +52 -0
- lusid/models/tender_event.py +52 -0
- lusid/models/term_deposit.py +52 -0
- lusid/models/term_deposit_interest_event.py +52 -0
- lusid/models/term_deposit_principal_event.py +52 -0
- lusid/models/total_return_swap.py +52 -0
- lusid/models/trade_ticket.py +52 -0
- lusid/models/transaction.py +52 -0
- lusid/models/transaction_configuration_movement_data.py +52 -0
- lusid/models/transaction_configuration_movement_data_request.py +52 -0
- lusid/models/transaction_configuration_type_alias.py +52 -0
- lusid/models/transaction_price.py +52 -0
- lusid/models/transaction_query_parameters.py +52 -0
- lusid/models/transition_event.py +52 -0
- lusid/models/trigger_event.py +52 -0
- lusid/models/update_deposit_amount_event.py +52 -0
- lusid/models/upsert_reference_portfolio_constituents_request.py +104 -0
- lusid/models/vendor_dependency.py +52 -0
- lusid/models/vendor_model_rule.py +52 -0
- lusid/models/weekend_mask.py +1 -1
- lusid/models/yield_curve_data.py +52 -0
- {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/METADATA +1 -1
- {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/RECORD +278 -278
- {lusid_sdk-2.1.748.dist-info → lusid_sdk-2.1.750.dist-info}/WHEEL +0 -0
@@ -34,6 +34,58 @@ class GroupByStepRequest(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 'GroupByStepRequest' 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
|
@@ -34,6 +34,58 @@ class GroupCalculationComplianceParameter(ComplianceParameter):
|
|
34
34
|
@validator('compliance_parameter_type')
|
35
35
|
def compliance_parameter_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 'GroupCalculationComplianceParameter' 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_parameter_type" != "type":
|
87
|
+
return value
|
88
|
+
|
37
89
|
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'):
|
38
90
|
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')")
|
39
91
|
return value
|
@@ -34,6 +34,58 @@ class GroupFilterPredicateComplianceParameter(ComplianceParameter):
|
|
34
34
|
@validator('compliance_parameter_type')
|
35
35
|
def compliance_parameter_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 'GroupFilterPredicateComplianceParameter' 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_parameter_type" != "type":
|
87
|
+
return value
|
88
|
+
|
37
89
|
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'):
|
38
90
|
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')")
|
39
91
|
return value
|
@@ -36,6 +36,58 @@ class GroupFilterStep(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 'GroupFilterStep' 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 GroupFilterStepRequest(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 'GroupFilterStepRequest' 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
|
@@ -38,6 +38,58 @@ class HoldingsAdjustment(BaseModel):
|
|
38
38
|
@validator('unmatched_holding_method')
|
39
39
|
def unmatched_holding_method_validate_enum(cls, value):
|
40
40
|
"""Validates the enum"""
|
41
|
+
|
42
|
+
# Finbourne have removed enum validation on all models, except for this use case:
|
43
|
+
# Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
|
44
|
+
# During instantiation, the value of 'type' is checked against the enum values,
|
45
|
+
|
46
|
+
|
47
|
+
# check it's a class that uses the 'type' property as a discriminator
|
48
|
+
# list of classes can be found by searching for 'actual_instance: Union[' in the generated code
|
49
|
+
if 'HoldingsAdjustment' not in [
|
50
|
+
# For notification application classes
|
51
|
+
'AmazonSqsNotificationType',
|
52
|
+
'AmazonSqsNotificationTypeResponse',
|
53
|
+
'AmazonSqsPrincipalAuthNotificationType',
|
54
|
+
'AmazonSqsPrincipalAuthNotificationTypeResponse',
|
55
|
+
'AzureServiceBusTypeResponse',
|
56
|
+
'AzureServiceBusNotificationType',
|
57
|
+
'EmailNotificationType',
|
58
|
+
'EmailNotificationTypeResponse',
|
59
|
+
'SmsNotificationType',
|
60
|
+
'SmsNotificationTypeResponse',
|
61
|
+
'WebhookNotificationType',
|
62
|
+
'WebhookNotificationTypeResponse',
|
63
|
+
|
64
|
+
# For workflow application classes
|
65
|
+
'CreateChildTasksAction',
|
66
|
+
'RunWorkerAction',
|
67
|
+
'TriggerParentTaskAction',
|
68
|
+
'CreateChildTasksActionResponse',
|
69
|
+
'RunWorkerActionResponse',
|
70
|
+
'TriggerParentTaskActionResponse',
|
71
|
+
'CreateNewTaskActivity',
|
72
|
+
'UpdateMatchingTasksActivity',
|
73
|
+
'CreateNewTaskActivityResponse',
|
74
|
+
'UpdateMatchingTasksActivityResponse',
|
75
|
+
'Fail',
|
76
|
+
'GroupReconciliation',
|
77
|
+
'HealthCheck',
|
78
|
+
'LuminesceView',
|
79
|
+
'SchedulerJob',
|
80
|
+
'Sleep',
|
81
|
+
'FailResponse',
|
82
|
+
'GroupReconciliationResponse',
|
83
|
+
'HealthCheckResponse',
|
84
|
+
'LuminesceViewResponse',
|
85
|
+
'SchedulerJobResponse',
|
86
|
+
'SleepResponse']:
|
87
|
+
return value
|
88
|
+
|
89
|
+
# Only validate the 'type' property of the class
|
90
|
+
if "unmatched_holding_method" != "type":
|
91
|
+
return value
|
92
|
+
|
41
93
|
if value not in ('PositionToZero', 'KeepTheSame'):
|
42
94
|
raise ValueError("must be one of enum values ('PositionToZero', 'KeepTheSame')")
|
43
95
|
return value
|
@@ -36,6 +36,58 @@ class HoldingsAdjustmentHeader(BaseModel):
|
|
36
36
|
@validator('unmatched_holding_method')
|
37
37
|
def unmatched_holding_method_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 'HoldingsAdjustmentHeader' 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 "unmatched_holding_method" != "type":
|
89
|
+
return value
|
90
|
+
|
39
91
|
if value not in ('PositionToZero', 'KeepTheSame'):
|
40
92
|
raise ValueError("must be one of enum values ('PositionToZero', 'KeepTheSame')")
|
41
93
|
return value
|
@@ -34,6 +34,58 @@ class IUnitDefinitionDto(BaseModel):
|
|
34
34
|
@validator('var_schema')
|
35
35
|
def var_schema_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 'IUnitDefinitionDto' 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 "var_schema" != "type":
|
87
|
+
return value
|
88
|
+
|
37
89
|
if value is None:
|
38
90
|
return value
|
39
91
|
|
@@ -43,6 +43,58 @@ class IdentifierDefinition(BaseModel):
|
|
43
43
|
@validator('domain')
|
44
44
|
def domain_validate_enum(cls, value):
|
45
45
|
"""Validates the enum"""
|
46
|
+
|
47
|
+
# Finbourne have removed enum validation on all models, except for this use case:
|
48
|
+
# Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
|
49
|
+
# During instantiation, the value of 'type' is checked against the enum values,
|
50
|
+
|
51
|
+
|
52
|
+
# check it's a class that uses the 'type' property as a discriminator
|
53
|
+
# list of classes can be found by searching for 'actual_instance: Union[' in the generated code
|
54
|
+
if 'IdentifierDefinition' not in [
|
55
|
+
# For notification application classes
|
56
|
+
'AmazonSqsNotificationType',
|
57
|
+
'AmazonSqsNotificationTypeResponse',
|
58
|
+
'AmazonSqsPrincipalAuthNotificationType',
|
59
|
+
'AmazonSqsPrincipalAuthNotificationTypeResponse',
|
60
|
+
'AzureServiceBusTypeResponse',
|
61
|
+
'AzureServiceBusNotificationType',
|
62
|
+
'EmailNotificationType',
|
63
|
+
'EmailNotificationTypeResponse',
|
64
|
+
'SmsNotificationType',
|
65
|
+
'SmsNotificationTypeResponse',
|
66
|
+
'WebhookNotificationType',
|
67
|
+
'WebhookNotificationTypeResponse',
|
68
|
+
|
69
|
+
# For workflow application classes
|
70
|
+
'CreateChildTasksAction',
|
71
|
+
'RunWorkerAction',
|
72
|
+
'TriggerParentTaskAction',
|
73
|
+
'CreateChildTasksActionResponse',
|
74
|
+
'RunWorkerActionResponse',
|
75
|
+
'TriggerParentTaskActionResponse',
|
76
|
+
'CreateNewTaskActivity',
|
77
|
+
'UpdateMatchingTasksActivity',
|
78
|
+
'CreateNewTaskActivityResponse',
|
79
|
+
'UpdateMatchingTasksActivityResponse',
|
80
|
+
'Fail',
|
81
|
+
'GroupReconciliation',
|
82
|
+
'HealthCheck',
|
83
|
+
'LuminesceView',
|
84
|
+
'SchedulerJob',
|
85
|
+
'Sleep',
|
86
|
+
'FailResponse',
|
87
|
+
'GroupReconciliationResponse',
|
88
|
+
'HealthCheckResponse',
|
89
|
+
'LuminesceViewResponse',
|
90
|
+
'SchedulerJobResponse',
|
91
|
+
'SleepResponse']:
|
92
|
+
return value
|
93
|
+
|
94
|
+
# Only validate the 'type' property of the class
|
95
|
+
if "domain" != "type":
|
96
|
+
return value
|
97
|
+
|
46
98
|
if value not in ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition'):
|
47
99
|
raise ValueError("must be one of enum values ('NotDefined', 'Transaction', 'Portfolio', 'Holding', 'ReferenceHolding', 'TransactionConfiguration', 'Instrument', 'CutLabelDefinition', 'Analytic', 'PortfolioGroup', 'Person', 'AccessMetadata', 'Order', 'UnitResult', 'MarketData', 'ConfigurationRecipe', 'Allocation', 'Calendar', 'LegalEntity', 'Placement', 'Execution', 'Block', 'Participation', 'Package', 'OrderInstruction', 'NextBestAction', 'CustomEntity', 'InstrumentEvent', 'Account', 'ChartOfAccounts', 'CustodianAccount', 'Abor', 'AborConfiguration', 'Fund', 'FundConfiguration', 'Fee', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation', 'Timeline', 'ClosedPeriod', 'AddressKeyDefinition', 'AmortisationRuleSet', 'AnalyticsSetInventory', 'AtomUnitResult', 'CleardownModule', 'ComplexMarketData', 'ComplianceRunSummary', 'ComplianceRule', 'ComplianceRunInfo', 'CorporateActionSource', 'CounterpartyAgreement', 'CustomEntityDefinition', 'DataType', 'Dialect', 'EventHandler', 'GeneralLedgerProfile', 'PostingModule', 'Quote', 'RecipeComposer', 'ReconciliationRunBreak', 'ReferenceList', 'RelationDefinition', 'ReturnBlockIndex', 'SRSDocument', 'SRSIndex', 'TransactionTemplate', 'TransactionTemplateScope', 'TransactionType', 'TransactionTypeConfig', 'TranslationScript', 'TaskDefinition', 'TaskInstance', 'Worker', 'StagingRuleSet', 'IdentifierDefinition')")
|
48
100
|
return value
|
@@ -50,6 +102,58 @@ class IdentifierDefinition(BaseModel):
|
|
50
102
|
@validator('life_time')
|
51
103
|
def life_time_validate_enum(cls, value):
|
52
104
|
"""Validates the enum"""
|
105
|
+
|
106
|
+
# Finbourne have removed enum validation on all models, except for this use case:
|
107
|
+
# Workflow and notification application SDK use the property name 'type' as the discriminator on a number of classes.
|
108
|
+
# During instantiation, the value of 'type' is checked against the enum values,
|
109
|
+
|
110
|
+
|
111
|
+
# check it's a class that uses the 'type' property as a discriminator
|
112
|
+
# list of classes can be found by searching for 'actual_instance: Union[' in the generated code
|
113
|
+
if 'IdentifierDefinition' not in [
|
114
|
+
# For notification application classes
|
115
|
+
'AmazonSqsNotificationType',
|
116
|
+
'AmazonSqsNotificationTypeResponse',
|
117
|
+
'AmazonSqsPrincipalAuthNotificationType',
|
118
|
+
'AmazonSqsPrincipalAuthNotificationTypeResponse',
|
119
|
+
'AzureServiceBusTypeResponse',
|
120
|
+
'AzureServiceBusNotificationType',
|
121
|
+
'EmailNotificationType',
|
122
|
+
'EmailNotificationTypeResponse',
|
123
|
+
'SmsNotificationType',
|
124
|
+
'SmsNotificationTypeResponse',
|
125
|
+
'WebhookNotificationType',
|
126
|
+
'WebhookNotificationTypeResponse',
|
127
|
+
|
128
|
+
# For workflow application classes
|
129
|
+
'CreateChildTasksAction',
|
130
|
+
'RunWorkerAction',
|
131
|
+
'TriggerParentTaskAction',
|
132
|
+
'CreateChildTasksActionResponse',
|
133
|
+
'RunWorkerActionResponse',
|
134
|
+
'TriggerParentTaskActionResponse',
|
135
|
+
'CreateNewTaskActivity',
|
136
|
+
'UpdateMatchingTasksActivity',
|
137
|
+
'CreateNewTaskActivityResponse',
|
138
|
+
'UpdateMatchingTasksActivityResponse',
|
139
|
+
'Fail',
|
140
|
+
'GroupReconciliation',
|
141
|
+
'HealthCheck',
|
142
|
+
'LuminesceView',
|
143
|
+
'SchedulerJob',
|
144
|
+
'Sleep',
|
145
|
+
'FailResponse',
|
146
|
+
'GroupReconciliationResponse',
|
147
|
+
'HealthCheckResponse',
|
148
|
+
'LuminesceViewResponse',
|
149
|
+
'SchedulerJobResponse',
|
150
|
+
'SleepResponse']:
|
151
|
+
return value
|
152
|
+
|
153
|
+
# Only validate the 'type' property of the class
|
154
|
+
if "life_time" != "type":
|
155
|
+
return value
|
156
|
+
|
53
157
|
if value not in ('Perpetual', 'TimeVariant'):
|
54
158
|
raise ValueError("must be one of enum values ('Perpetual', 'TimeVariant')")
|
55
159
|
return value
|