lusid-sdk 2.1.351__py3-none-any.whl → 2.1.390__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 (81) hide show
  1. lusid/__init__.py +34 -0
  2. lusid/api/__init__.py +2 -0
  3. lusid/api/funds_api.py +9 -8
  4. lusid/api/group_reconciliations_api.py +378 -0
  5. lusid/api/order_management_api.py +161 -0
  6. lusid/api/workspace_api.py +40 -40
  7. lusid/configuration.py +1 -1
  8. lusid/models/__init__.py +32 -0
  9. lusid/models/accept_estimate_valuation_point_response.py +100 -0
  10. lusid/models/accumulation_event.py +3 -3
  11. lusid/models/action_id.py +1 -1
  12. lusid/models/amortisation_event.py +3 -3
  13. lusid/models/applicable_instrument_event.py +14 -2
  14. lusid/models/bond_coupon_event.py +3 -3
  15. lusid/models/bond_default_event.py +3 -3
  16. lusid/models/bond_principal_event.py +3 -3
  17. lusid/models/calendar.py +17 -2
  18. lusid/models/capital_distribution_event.py +3 -3
  19. lusid/models/cash_dividend_event.py +3 -3
  20. lusid/models/cash_flow_event.py +3 -3
  21. lusid/models/close_event.py +3 -3
  22. lusid/models/create_group_reconciliation_comparison_ruleset_request.py +97 -0
  23. lusid/models/custom_entity_definition.py +17 -2
  24. lusid/models/custom_entity_type.py +17 -2
  25. lusid/models/data_type.py +7 -1
  26. lusid/models/dividend_option_event.py +3 -3
  27. lusid/models/dividend_reinvestment_event.py +3 -3
  28. lusid/models/entity_change_item.py +121 -0
  29. lusid/models/exercise_event.py +3 -3
  30. lusid/models/expiry_event.py +3 -3
  31. lusid/models/fee.py +1 -1
  32. lusid/models/fee_request.py +1 -1
  33. lusid/models/flow_conventions.py +1 -1
  34. lusid/models/fund_amount.py +1 -1
  35. lusid/models/fund_details.py +74 -0
  36. lusid/models/future_expiry_event.py +3 -3
  37. lusid/models/futures_contract_details.py +6 -1
  38. lusid/models/fx_forward_settlement_event.py +3 -3
  39. lusid/models/generated_event_diagnostics.py +75 -0
  40. lusid/models/group_reconciliation_aggregate_attribute_rule.py +84 -0
  41. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +71 -0
  42. lusid/models/group_reconciliation_comparison_rule_string_value_map.py +73 -0
  43. lusid/models/group_reconciliation_comparison_rule_tolerance.py +71 -0
  44. lusid/models/group_reconciliation_comparison_ruleset.py +125 -0
  45. lusid/models/group_reconciliation_core_attribute_rule.py +95 -0
  46. lusid/models/group_reconciliation_core_comparison_rule_operand.py +71 -0
  47. lusid/models/index_convention.py +1 -1
  48. lusid/models/informational_error_event.py +3 -3
  49. lusid/models/informational_event.py +3 -3
  50. lusid/models/instrument_event.py +7 -5
  51. lusid/models/instrument_event_instruction.py +19 -4
  52. lusid/models/instrument_event_type.py +2 -0
  53. lusid/models/maturity_event.py +3 -3
  54. lusid/models/merger_event.py +3 -3
  55. lusid/models/new_instrument.py +10 -2
  56. lusid/models/open_event.py +3 -3
  57. lusid/models/order_graph_block_order_detail.py +1 -1
  58. lusid/models/order_update_request.py +5 -0
  59. lusid/models/person.py +17 -2
  60. lusid/models/placement_update_request.py +6 -1
  61. lusid/models/previous_nav.py +3 -3
  62. lusid/models/raw_vendor_event.py +3 -3
  63. lusid/models/reset_event.py +3 -3
  64. lusid/models/resource_list_of_entity_change_item.py +113 -0
  65. lusid/models/reverse_stock_split_event.py +3 -3
  66. lusid/models/scrip_dividend_event.py +3 -3
  67. lusid/models/share_class_amount.py +7 -9
  68. lusid/models/share_class_breakdown.py +4 -5
  69. lusid/models/spin_off_event.py +3 -3
  70. lusid/models/stock_dividend_event.py +3 -3
  71. lusid/models/stock_split_event.py +3 -3
  72. lusid/models/swap_cash_flow_event.py +97 -0
  73. lusid/models/swap_principal_event.py +97 -0
  74. lusid/models/transaction_diagnostics.py +71 -0
  75. lusid/models/transition_event.py +3 -3
  76. lusid/models/trigger_event.py +3 -3
  77. lusid/models/valuation_point_data_response.py +21 -1
  78. lusid/models/weighted_instrument.py +9 -2
  79. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/METADATA +40 -21
  80. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/RECORD +81 -64
  81. {lusid_sdk-2.1.351.dist-info → lusid_sdk-2.1.390.dist-info}/WHEEL +0 -0
lusid/models/__init__.py CHANGED
@@ -24,6 +24,7 @@ from lusid.models.abor_configuration_properties import AborConfigurationProperti
24
24
  from lusid.models.abor_configuration_request import AborConfigurationRequest
25
25
  from lusid.models.abor_properties import AborProperties
26
26
  from lusid.models.abor_request import AborRequest
27
+ from lusid.models.accept_estimate_valuation_point_response import AcceptEstimateValuationPointResponse
27
28
  from lusid.models.access_controlled_action import AccessControlledAction
28
29
  from lusid.models.access_controlled_resource import AccessControlledResource
29
30
  from lusid.models.access_metadata_operation import AccessMetadataOperation
@@ -212,6 +213,7 @@ from lusid.models.create_data_type_request import CreateDataTypeRequest
212
213
  from lusid.models.create_date_request import CreateDateRequest
213
214
  from lusid.models.create_derived_property_definition_request import CreateDerivedPropertyDefinitionRequest
214
215
  from lusid.models.create_derived_transaction_portfolio_request import CreateDerivedTransactionPortfolioRequest
216
+ from lusid.models.create_group_reconciliation_comparison_ruleset_request import CreateGroupReconciliationComparisonRulesetRequest
215
217
  from lusid.models.create_portfolio_details import CreatePortfolioDetails
216
218
  from lusid.models.create_portfolio_group_request import CreatePortfolioGroupRequest
217
219
  from lusid.models.create_property_definition_request import CreatePropertyDefinitionRequest
@@ -297,6 +299,7 @@ from lusid.models.economic_dependency_with_quote import EconomicDependencyWithQu
297
299
  from lusid.models.election_specification import ElectionSpecification
298
300
  from lusid.models.eligibility_calculation import EligibilityCalculation
299
301
  from lusid.models.empty_model_options import EmptyModelOptions
302
+ from lusid.models.entity_change_item import EntityChangeItem
300
303
  from lusid.models.entity_identifier import EntityIdentifier
301
304
  from lusid.models.equity import Equity
302
305
  from lusid.models.equity_all_of_identifiers import EquityAllOfIdentifiers
@@ -351,6 +354,7 @@ from lusid.models.fund_amount import FundAmount
351
354
  from lusid.models.fund_configuration import FundConfiguration
352
355
  from lusid.models.fund_configuration_properties import FundConfigurationProperties
353
356
  from lusid.models.fund_configuration_request import FundConfigurationRequest
357
+ from lusid.models.fund_details import FundDetails
354
358
  from lusid.models.fund_pnl_breakdown import FundPnlBreakdown
355
359
  from lusid.models.fund_previous_nav import FundPreviousNAV
356
360
  from lusid.models.fund_properties import FundProperties
@@ -383,6 +387,7 @@ from lusid.models.fx_vol_surface_data import FxVolSurfaceData
383
387
  from lusid.models.general_ledger_profile_mapping import GeneralLedgerProfileMapping
384
388
  from lusid.models.general_ledger_profile_request import GeneralLedgerProfileRequest
385
389
  from lusid.models.general_ledger_profile_response import GeneralLedgerProfileResponse
390
+ from lusid.models.generated_event_diagnostics import GeneratedEventDiagnostics
386
391
  from lusid.models.get_cds_flow_conventions_response import GetCdsFlowConventionsResponse
387
392
  from lusid.models.get_complex_market_data_response import GetComplexMarketDataResponse
388
393
  from lusid.models.get_counterparty_agreement_response import GetCounterpartyAgreementResponse
@@ -405,6 +410,13 @@ from lusid.models.group_filter_predicate_compliance_parameter import GroupFilter
405
410
  from lusid.models.group_filter_step import GroupFilterStep
406
411
  from lusid.models.group_filter_step_request import GroupFilterStepRequest
407
412
  from lusid.models.group_of_market_data_key_rules import GroupOfMarketDataKeyRules
413
+ from lusid.models.group_reconciliation_aggregate_attribute_rule import GroupReconciliationAggregateAttributeRule
414
+ from lusid.models.group_reconciliation_aggregate_comparison_rule_operand import GroupReconciliationAggregateComparisonRuleOperand
415
+ from lusid.models.group_reconciliation_comparison_rule_string_value_map import GroupReconciliationComparisonRuleStringValueMap
416
+ from lusid.models.group_reconciliation_comparison_rule_tolerance import GroupReconciliationComparisonRuleTolerance
417
+ from lusid.models.group_reconciliation_comparison_ruleset import GroupReconciliationComparisonRuleset
418
+ from lusid.models.group_reconciliation_core_attribute_rule import GroupReconciliationCoreAttributeRule
419
+ from lusid.models.group_reconciliation_core_comparison_rule_operand import GroupReconciliationCoreComparisonRuleOperand
408
420
  from lusid.models.grouped_result_of_address_key import GroupedResultOfAddressKey
409
421
  from lusid.models.holding_adjustment import HoldingAdjustment
410
422
  from lusid.models.holding_adjustment_with_date import HoldingAdjustmentWithDate
@@ -769,6 +781,7 @@ from lusid.models.resource_list_of_compliance_run_info import ResourceListOfComp
769
781
  from lusid.models.resource_list_of_constituents_adjustment_header import ResourceListOfConstituentsAdjustmentHeader
770
782
  from lusid.models.resource_list_of_corporate_action import ResourceListOfCorporateAction
771
783
  from lusid.models.resource_list_of_data_type import ResourceListOfDataType
784
+ from lusid.models.resource_list_of_entity_change_item import ResourceListOfEntityChangeItem
772
785
  from lusid.models.resource_list_of_execution import ResourceListOfExecution
773
786
  from lusid.models.resource_list_of_fee_rule import ResourceListOfFeeRule
774
787
  from lusid.models.resource_list_of_get_cds_flow_conventions_response import ResourceListOfGetCdsFlowConventionsResponse
@@ -891,6 +904,8 @@ from lusid.models.string_list_compliance_parameter import StringListCompliancePa
891
904
  from lusid.models.structured_result_data import StructuredResultData
892
905
  from lusid.models.structured_result_data_id import StructuredResultDataId
893
906
  from lusid.models.sub_holding_key_value_equals import SubHoldingKeyValueEquals
907
+ from lusid.models.swap_cash_flow_event import SwapCashFlowEvent
908
+ from lusid.models.swap_principal_event import SwapPrincipalEvent
894
909
  from lusid.models.target_tax_lot import TargetTaxLot
895
910
  from lusid.models.target_tax_lot_request import TargetTaxLotRequest
896
911
  from lusid.models.tax_rule import TaxRule
@@ -908,6 +923,7 @@ from lusid.models.transaction_configuration_movement_data import TransactionConf
908
923
  from lusid.models.transaction_configuration_movement_data_request import TransactionConfigurationMovementDataRequest
909
924
  from lusid.models.transaction_configuration_type_alias import TransactionConfigurationTypeAlias
910
925
  from lusid.models.transaction_currency_and_amount import TransactionCurrencyAndAmount
926
+ from lusid.models.transaction_diagnostics import TransactionDiagnostics
911
927
  from lusid.models.transaction_field_map import TransactionFieldMap
912
928
  from lusid.models.transaction_price import TransactionPrice
913
929
  from lusid.models.transaction_price_and_type import TransactionPriceAndType
@@ -1069,6 +1085,7 @@ __all__ = [
1069
1085
  "AborConfigurationRequest",
1070
1086
  "AborProperties",
1071
1087
  "AborRequest",
1088
+ "AcceptEstimateValuationPointResponse",
1072
1089
  "AccessControlledAction",
1073
1090
  "AccessControlledResource",
1074
1091
  "AccessMetadataOperation",
@@ -1257,6 +1274,7 @@ __all__ = [
1257
1274
  "CreateDateRequest",
1258
1275
  "CreateDerivedPropertyDefinitionRequest",
1259
1276
  "CreateDerivedTransactionPortfolioRequest",
1277
+ "CreateGroupReconciliationComparisonRulesetRequest",
1260
1278
  "CreatePortfolioDetails",
1261
1279
  "CreatePortfolioGroupRequest",
1262
1280
  "CreatePropertyDefinitionRequest",
@@ -1342,6 +1360,7 @@ __all__ = [
1342
1360
  "ElectionSpecification",
1343
1361
  "EligibilityCalculation",
1344
1362
  "EmptyModelOptions",
1363
+ "EntityChangeItem",
1345
1364
  "EntityIdentifier",
1346
1365
  "Equity",
1347
1366
  "EquityAllOfIdentifiers",
@@ -1396,6 +1415,7 @@ __all__ = [
1396
1415
  "FundConfiguration",
1397
1416
  "FundConfigurationProperties",
1398
1417
  "FundConfigurationRequest",
1418
+ "FundDetails",
1399
1419
  "FundPnlBreakdown",
1400
1420
  "FundPreviousNAV",
1401
1421
  "FundProperties",
@@ -1428,6 +1448,7 @@ __all__ = [
1428
1448
  "GeneralLedgerProfileMapping",
1429
1449
  "GeneralLedgerProfileRequest",
1430
1450
  "GeneralLedgerProfileResponse",
1451
+ "GeneratedEventDiagnostics",
1431
1452
  "GetCdsFlowConventionsResponse",
1432
1453
  "GetComplexMarketDataResponse",
1433
1454
  "GetCounterpartyAgreementResponse",
@@ -1450,6 +1471,13 @@ __all__ = [
1450
1471
  "GroupFilterStep",
1451
1472
  "GroupFilterStepRequest",
1452
1473
  "GroupOfMarketDataKeyRules",
1474
+ "GroupReconciliationAggregateAttributeRule",
1475
+ "GroupReconciliationAggregateComparisonRuleOperand",
1476
+ "GroupReconciliationComparisonRuleStringValueMap",
1477
+ "GroupReconciliationComparisonRuleTolerance",
1478
+ "GroupReconciliationComparisonRuleset",
1479
+ "GroupReconciliationCoreAttributeRule",
1480
+ "GroupReconciliationCoreComparisonRuleOperand",
1453
1481
  "GroupedResultOfAddressKey",
1454
1482
  "HoldingAdjustment",
1455
1483
  "HoldingAdjustmentWithDate",
@@ -1814,6 +1842,7 @@ __all__ = [
1814
1842
  "ResourceListOfConstituentsAdjustmentHeader",
1815
1843
  "ResourceListOfCorporateAction",
1816
1844
  "ResourceListOfDataType",
1845
+ "ResourceListOfEntityChangeItem",
1817
1846
  "ResourceListOfExecution",
1818
1847
  "ResourceListOfFeeRule",
1819
1848
  "ResourceListOfGetCdsFlowConventionsResponse",
@@ -1936,6 +1965,8 @@ __all__ = [
1936
1965
  "StructuredResultData",
1937
1966
  "StructuredResultDataId",
1938
1967
  "SubHoldingKeyValueEquals",
1968
+ "SwapCashFlowEvent",
1969
+ "SwapPrincipalEvent",
1939
1970
  "TargetTaxLot",
1940
1971
  "TargetTaxLotRequest",
1941
1972
  "TaxRule",
@@ -1953,6 +1984,7 @@ __all__ = [
1953
1984
  "TransactionConfigurationMovementDataRequest",
1954
1985
  "TransactionConfigurationTypeAlias",
1955
1986
  "TransactionCurrencyAndAmount",
1987
+ "TransactionDiagnostics",
1956
1988
  "TransactionFieldMap",
1957
1989
  "TransactionPrice",
1958
1990
  "TransactionPriceAndType",
@@ -0,0 +1,100 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic.v1 import BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.link import Link
24
+ from lusid.models.valuation_point_data_response import ValuationPointDataResponse
25
+
26
+ class AcceptEstimateValuationPointResponse(BaseModel):
27
+ """
28
+ The Valuation Point Data Response for AcceptEstimate called on the Fund and specified date. # noqa: E501
29
+ """
30
+ href: Optional[StrictStr] = Field(None, description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
31
+ candidate_valuation_point: ValuationPointDataResponse = Field(..., alias="candidateValuationPoint")
32
+ latest_valuation_point: Optional[ValuationPointDataResponse] = Field(None, alias="latestValuationPoint")
33
+ links: Optional[conlist(Link)] = None
34
+ __properties = ["href", "candidateValuationPoint", "latestValuationPoint", "links"]
35
+
36
+ class Config:
37
+ """Pydantic configuration"""
38
+ allow_population_by_field_name = True
39
+ validate_assignment = True
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.dict(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ return json.dumps(self.to_dict())
48
+
49
+ @classmethod
50
+ def from_json(cls, json_str: str) -> AcceptEstimateValuationPointResponse:
51
+ """Create an instance of AcceptEstimateValuationPointResponse from a JSON string"""
52
+ return cls.from_dict(json.loads(json_str))
53
+
54
+ def to_dict(self):
55
+ """Returns the dictionary representation of the model using alias"""
56
+ _dict = self.dict(by_alias=True,
57
+ exclude={
58
+ },
59
+ exclude_none=True)
60
+ # override the default output from pydantic by calling `to_dict()` of candidate_valuation_point
61
+ if self.candidate_valuation_point:
62
+ _dict['candidateValuationPoint'] = self.candidate_valuation_point.to_dict()
63
+ # override the default output from pydantic by calling `to_dict()` of latest_valuation_point
64
+ if self.latest_valuation_point:
65
+ _dict['latestValuationPoint'] = self.latest_valuation_point.to_dict()
66
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
67
+ _items = []
68
+ if self.links:
69
+ for _item in self.links:
70
+ if _item:
71
+ _items.append(_item.to_dict())
72
+ _dict['links'] = _items
73
+ # set to None if href (nullable) is None
74
+ # and __fields_set__ contains the field
75
+ if self.href is None and "href" in self.__fields_set__:
76
+ _dict['href'] = None
77
+
78
+ # set to None if links (nullable) is None
79
+ # and __fields_set__ contains the field
80
+ if self.links is None and "links" in self.__fields_set__:
81
+ _dict['links'] = None
82
+
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: dict) -> AcceptEstimateValuationPointResponse:
87
+ """Create an instance of AcceptEstimateValuationPointResponse from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return AcceptEstimateValuationPointResponse.parse_obj(obj)
93
+
94
+ _obj = AcceptEstimateValuationPointResponse.parse_obj({
95
+ "href": obj.get("href"),
96
+ "candidate_valuation_point": ValuationPointDataResponse.from_dict(obj.get("candidateValuationPoint")) if obj.get("candidateValuationPoint") is not None else None,
97
+ "latest_valuation_point": ValuationPointDataResponse.from_dict(obj.get("latestValuationPoint")) if obj.get("latestValuationPoint") is not None else None,
98
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
99
+ })
100
+ return _obj
@@ -31,15 +31,15 @@ class AccumulationEvent(InstrumentEvent):
31
31
  dividend_rate: Union[StrictFloat, StrictInt] = Field(..., alias="dividendRate", description="Dividend rate or payment rate as a percentage. i.e. 5% is written as 0.05")
32
32
  ex_date: datetime = Field(..., alias="exDate", description="The first business day on which the dividend is not owed to the buying party. Typically this is T-1 from the RecordDate.")
33
33
  payment_date: datetime = Field(..., alias="paymentDate", description="The date the company pays out dividends to shareholders.")
34
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
34
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
35
35
  additional_properties: Dict[str, Any] = {}
36
36
  __properties = ["instrumentEventType", "announcementDate", "dividendCurrency", "dividendRate", "exDate", "paymentDate"]
37
37
 
38
38
  @validator('instrument_event_type')
39
39
  def instrument_event_type_validate_enum(cls, value):
40
40
  """Validates the enum"""
41
- 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'):
42
- 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')")
41
+ 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'):
42
+ 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')")
43
43
  return value
44
44
 
45
45
  class Config:
lusid/models/action_id.py CHANGED
@@ -27,7 +27,7 @@ class ActionId(BaseModel):
27
27
  """
28
28
  scope: constr(strict=True, max_length=100, min_length=3) = Field(...)
29
29
  activity: constr(strict=True, max_length=25, min_length=3) = Field(...)
30
- entity: constr(strict=True, max_length=25, min_length=3) = Field(...)
30
+ entity: constr(strict=True, max_length=40, min_length=3) = Field(...)
31
31
  __properties = ["scope", "activity", "entity"]
32
32
 
33
33
  class Config:
@@ -30,15 +30,15 @@ class AmortisationEvent(InstrumentEvent):
30
30
  dom_ccy: StrictStr = Field(..., alias="domCcy", description="Domestic currency of the originating instrument")
31
31
  pay_receive: constr(strict=True, min_length=1) = Field(..., alias="payReceive", description="Is this event in relation to the Pay or Receive leg")
32
32
  payment_date: datetime = Field(..., alias="paymentDate", description="The date the principal payment is to be made.")
33
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
33
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
34
34
  additional_properties: Dict[str, Any] = {}
35
35
  __properties = ["instrumentEventType", "amountReduced", "domCcy", "payReceive", "paymentDate"]
36
36
 
37
37
  @validator('instrument_event_type')
38
38
  def instrument_event_type_validate_enum(cls, value):
39
39
  """Validates the enum"""
40
- 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'):
41
- 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')")
40
+ 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'):
41
+ 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')")
42
42
  return value
43
43
 
44
44
  class Config:
@@ -20,9 +20,11 @@ import json
20
20
 
21
21
  from typing import Any, Dict, List, Optional
22
22
  from pydantic.v1 import BaseModel, Field, StrictInt, conlist, constr
23
+ from lusid.models.generated_event_diagnostics import GeneratedEventDiagnostics
23
24
  from lusid.models.instrument_event_holder import InstrumentEventHolder
24
25
  from lusid.models.resource_id import ResourceId
25
26
  from lusid.models.transaction import Transaction
27
+ from lusid.models.transaction_diagnostics import TransactionDiagnostics
26
28
 
27
29
  class ApplicableInstrumentEvent(BaseModel):
28
30
  """
@@ -36,10 +38,12 @@ class ApplicableInstrumentEvent(BaseModel):
36
38
  instrument_event_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventType")
37
39
  instrument_event_id: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventId")
38
40
  generated_event: Optional[InstrumentEventHolder] = Field(None, alias="generatedEvent")
41
+ generated_event_diagnostics: Optional[GeneratedEventDiagnostics] = Field(None, alias="generatedEventDiagnostics")
39
42
  loaded_event: Optional[InstrumentEventHolder] = Field(None, alias="loadedEvent")
40
43
  applied_instrument_event_instruction_id: constr(strict=True, min_length=1) = Field(..., alias="appliedInstrumentEventInstructionId")
41
44
  transactions: Optional[conlist(Transaction)] = None
42
- __properties = ["portfolioId", "holdingId", "lusidInstrumentId", "instrumentScope", "instrumentType", "instrumentEventType", "instrumentEventId", "generatedEvent", "loadedEvent", "appliedInstrumentEventInstructionId", "transactions"]
45
+ transaction_diagnostics: Optional[TransactionDiagnostics] = Field(None, alias="transactionDiagnostics")
46
+ __properties = ["portfolioId", "holdingId", "lusidInstrumentId", "instrumentScope", "instrumentType", "instrumentEventType", "instrumentEventId", "generatedEvent", "generatedEventDiagnostics", "loadedEvent", "appliedInstrumentEventInstructionId", "transactions", "transactionDiagnostics"]
43
47
 
44
48
  class Config:
45
49
  """Pydantic configuration"""
@@ -71,6 +75,9 @@ class ApplicableInstrumentEvent(BaseModel):
71
75
  # override the default output from pydantic by calling `to_dict()` of generated_event
72
76
  if self.generated_event:
73
77
  _dict['generatedEvent'] = self.generated_event.to_dict()
78
+ # override the default output from pydantic by calling `to_dict()` of generated_event_diagnostics
79
+ if self.generated_event_diagnostics:
80
+ _dict['generatedEventDiagnostics'] = self.generated_event_diagnostics.to_dict()
74
81
  # override the default output from pydantic by calling `to_dict()` of loaded_event
75
82
  if self.loaded_event:
76
83
  _dict['loadedEvent'] = self.loaded_event.to_dict()
@@ -81,6 +88,9 @@ class ApplicableInstrumentEvent(BaseModel):
81
88
  if _item:
82
89
  _items.append(_item.to_dict())
83
90
  _dict['transactions'] = _items
91
+ # override the default output from pydantic by calling `to_dict()` of transaction_diagnostics
92
+ if self.transaction_diagnostics:
93
+ _dict['transactionDiagnostics'] = self.transaction_diagnostics.to_dict()
84
94
  # set to None if transactions (nullable) is None
85
95
  # and __fields_set__ contains the field
86
96
  if self.transactions is None and "transactions" in self.__fields_set__:
@@ -106,8 +116,10 @@ class ApplicableInstrumentEvent(BaseModel):
106
116
  "instrument_event_type": obj.get("instrumentEventType"),
107
117
  "instrument_event_id": obj.get("instrumentEventId"),
108
118
  "generated_event": InstrumentEventHolder.from_dict(obj.get("generatedEvent")) if obj.get("generatedEvent") is not None else None,
119
+ "generated_event_diagnostics": GeneratedEventDiagnostics.from_dict(obj.get("generatedEventDiagnostics")) if obj.get("generatedEventDiagnostics") is not None else None,
109
120
  "loaded_event": InstrumentEventHolder.from_dict(obj.get("loadedEvent")) if obj.get("loadedEvent") is not None else None,
110
121
  "applied_instrument_event_instruction_id": obj.get("appliedInstrumentEventInstructionId"),
111
- "transactions": [Transaction.from_dict(_item) for _item in obj.get("transactions")] if obj.get("transactions") is not None else None
122
+ "transactions": [Transaction.from_dict(_item) for _item in obj.get("transactions")] if obj.get("transactions") is not None else None,
123
+ "transaction_diagnostics": TransactionDiagnostics.from_dict(obj.get("transactionDiagnostics")) if obj.get("transactionDiagnostics") is not None else None
112
124
  })
113
125
  return _obj
@@ -30,15 +30,15 @@ class BondCouponEvent(InstrumentEvent):
30
30
  payment_date: datetime = Field(..., alias="paymentDate", description="Payment date of the coupon payment")
31
31
  currency: StrictStr = Field(..., description="Currency of the coupon payment")
32
32
  coupon_per_unit: Union[StrictFloat, StrictInt] = Field(..., alias="couponPerUnit", description="CouponRate*Principal")
33
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
33
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
34
34
  additional_properties: Dict[str, Any] = {}
35
35
  __properties = ["instrumentEventType", "exDate", "paymentDate", "currency", "couponPerUnit"]
36
36
 
37
37
  @validator('instrument_event_type')
38
38
  def instrument_event_type_validate_enum(cls, value):
39
39
  """Validates the enum"""
40
- 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'):
41
- 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')")
40
+ 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'):
41
+ 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')")
42
42
  return value
43
43
 
44
44
  class Config:
@@ -27,15 +27,15 @@ class BondDefaultEvent(InstrumentEvent):
27
27
  Indicates when an issuer has defaulted on an obligation due to technical default, missed payments, or bankruptcy filing. # noqa: E501
28
28
  """
29
29
  effective_date: datetime = Field(..., alias="effectiveDate", description="The date the bond default occurred.")
30
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
30
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties = ["instrumentEventType", "effectiveDate"]
33
33
 
34
34
  @validator('instrument_event_type')
35
35
  def instrument_event_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
- 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'):
38
- 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')")
37
+ 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'):
38
+ 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')")
39
39
  return value
40
40
 
41
41
  class Config:
@@ -30,15 +30,15 @@ class BondPrincipalEvent(InstrumentEvent):
30
30
  ex_date: datetime = Field(..., alias="exDate", description="Ex-Dividend date of the principal payment")
31
31
  payment_date: datetime = Field(..., alias="paymentDate", description="Payment date of the principal payment")
32
32
  principal_per_unit: Union[StrictFloat, StrictInt] = Field(..., alias="principalPerUnit", description="Principal per unit")
33
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
33
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
34
34
  additional_properties: Dict[str, Any] = {}
35
35
  __properties = ["instrumentEventType", "currency", "exDate", "paymentDate", "principalPerUnit"]
36
36
 
37
37
  @validator('instrument_event_type')
38
38
  def instrument_event_type_validate_enum(cls, value):
39
39
  """Validates the enum"""
40
- 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'):
41
- 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')")
40
+ 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'):
41
+ 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')")
42
42
  return value
43
43
 
44
44
  class Config:
lusid/models/calendar.py CHANGED
@@ -20,6 +20,7 @@ import json
20
20
 
21
21
  from typing import Any, Dict, List, Optional
22
22
  from pydantic.v1 import BaseModel, Field, StrictStr, conlist, constr
23
+ from lusid.models.link import Link
23
24
  from lusid.models.model_property import ModelProperty
24
25
  from lusid.models.resource_id import ResourceId
25
26
  from lusid.models.version import Version
@@ -36,7 +37,8 @@ class Calendar(BaseModel):
36
37
  source_provider: constr(strict=True, min_length=1) = Field(..., alias="sourceProvider")
37
38
  properties: conlist(ModelProperty) = Field(...)
38
39
  version: Optional[Version] = None
39
- __properties = ["href", "id", "type", "weekendMask", "sourceProvider", "properties", "version"]
40
+ links: Optional[conlist(Link)] = None
41
+ __properties = ["href", "id", "type", "weekendMask", "sourceProvider", "properties", "version", "links"]
40
42
 
41
43
  class Config:
42
44
  """Pydantic configuration"""
@@ -78,11 +80,23 @@ class Calendar(BaseModel):
78
80
  # override the default output from pydantic by calling `to_dict()` of version
79
81
  if self.version:
80
82
  _dict['version'] = self.version.to_dict()
83
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
84
+ _items = []
85
+ if self.links:
86
+ for _item in self.links:
87
+ if _item:
88
+ _items.append(_item.to_dict())
89
+ _dict['links'] = _items
81
90
  # set to None if href (nullable) is None
82
91
  # and __fields_set__ contains the field
83
92
  if self.href is None and "href" in self.__fields_set__:
84
93
  _dict['href'] = None
85
94
 
95
+ # set to None if links (nullable) is None
96
+ # and __fields_set__ contains the field
97
+ if self.links is None and "links" in self.__fields_set__:
98
+ _dict['links'] = None
99
+
86
100
  return _dict
87
101
 
88
102
  @classmethod
@@ -101,6 +115,7 @@ class Calendar(BaseModel):
101
115
  "weekend_mask": WeekendMask.from_dict(obj.get("weekendMask")) if obj.get("weekendMask") is not None else None,
102
116
  "source_provider": obj.get("sourceProvider"),
103
117
  "properties": [ModelProperty.from_dict(_item) for _item in obj.get("properties")] if obj.get("properties") is not None else None,
104
- "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None
118
+ "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
119
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
105
120
  })
106
121
  return _obj
@@ -32,15 +32,15 @@ class CapitalDistributionEvent(InstrumentEvent):
32
32
  ex_date: datetime = Field(..., alias="exDate", description="The first business day on which the dividend is not owed to the buying party.")
33
33
  payment_date: datetime = Field(..., alias="paymentDate", description="The date the company begins distributing the dividend.")
34
34
  record_date: Optional[datetime] = Field(None, alias="recordDate", description="Date you have to be the holder of record in order to participate in the tender.")
35
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
35
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
36
36
  additional_properties: Dict[str, Any] = {}
37
37
  __properties = ["instrumentEventType", "announcementDate", "cashElections", "exDate", "paymentDate", "recordDate"]
38
38
 
39
39
  @validator('instrument_event_type')
40
40
  def instrument_event_type_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
- 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'):
43
- 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')")
42
+ 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'):
43
+ 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')")
44
44
  return value
45
45
 
46
46
  class Config:
@@ -32,15 +32,15 @@ class CashDividendEvent(InstrumentEvent):
32
32
  cash_elections: conlist(CashElection) = Field(..., alias="cashElections", description="Possible elections for this event, each keyed with a unique identifier.")
33
33
  announcement_date: Optional[datetime] = Field(None, alias="announcementDate", description="Date on which the dividend is announced by the company.")
34
34
  record_date: Optional[datetime] = Field(None, alias="recordDate", description="Date you have to be the holder of record in order to participate in the tender.")
35
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
35
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
36
36
  additional_properties: Dict[str, Any] = {}
37
37
  __properties = ["instrumentEventType", "paymentDate", "exDate", "cashElections", "announcementDate", "recordDate"]
38
38
 
39
39
  @validator('instrument_event_type')
40
40
  def instrument_event_type_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
- 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'):
43
- 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')")
42
+ 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'):
43
+ 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')")
44
44
  return value
45
45
 
46
46
  class Config:
@@ -29,15 +29,15 @@ class CashFlowEvent(InstrumentEvent):
29
29
  """
30
30
  cash_flow_value: CashFlowValue = Field(..., alias="cashFlowValue")
31
31
  event_type: constr(strict=True, min_length=1) = Field(..., alias="eventType", description="What type of internal event does this represent; coupon, principal, premium etc.")
32
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
32
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: 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")
33
33
  additional_properties: Dict[str, Any] = {}
34
34
  __properties = ["instrumentEventType", "cashFlowValue", "eventType"]
35
35
 
36
36
  @validator('instrument_event_type')
37
37
  def instrument_event_type_validate_enum(cls, value):
38
38
  """Validates the enum"""
39
- 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'):
40
- 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')")
39
+ 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'):
40
+ 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')")
41
41
  return value
42
42
 
43
43
  class Config: