lusid-sdk 2.0.455__py3-none-any.whl → 2.0.485__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.

Potentially problematic release.


This version of lusid-sdk might be problematic. Click here for more details.

Files changed (32) hide show
  1. lusid/__init__.py +26 -0
  2. lusid/api/__init__.py +2 -0
  3. lusid/api/funds_api.py +1179 -125
  4. lusid/api/staging_rule_set_api.py +885 -0
  5. lusid/configuration.py +1 -1
  6. lusid/extensions/api_client_factory.py +4 -1
  7. lusid/models/__init__.py +24 -0
  8. lusid/models/create_derived_property_definition_request.py +3 -3
  9. lusid/models/create_property_definition_request.py +3 -3
  10. lusid/models/create_staging_rule_set_request.py +91 -0
  11. lusid/models/fund_request.py +1 -1
  12. lusid/models/instrument_event_configuration.py +8 -2
  13. lusid/models/order_graph_block_order_synopsis.py +9 -2
  14. lusid/models/order_graph_block_placement_synopsis.py +9 -2
  15. lusid/models/paged_resource_list_of_staging_rule_set.py +113 -0
  16. lusid/models/property_definition.py +3 -3
  17. lusid/models/property_definition_search_result.py +3 -3
  18. lusid/models/property_domain.py +1 -0
  19. lusid/models/set_share_class_instruments_request.py +79 -0
  20. lusid/models/staging_rule.py +90 -0
  21. lusid/models/staging_rule_approval_criteria.py +81 -0
  22. lusid/models/staging_rule_match_criteria.py +95 -0
  23. lusid/models/staging_rule_set.py +103 -0
  24. lusid/models/transaction_property_map.py +9 -8
  25. lusid/models/update_staging_rule_set_request.py +91 -0
  26. lusid/models/upsert_valuation_point_request.py +135 -0
  27. lusid/models/valuation_point_data_query_parameters.py +73 -0
  28. lusid/models/valuation_point_data_request.py +76 -0
  29. lusid/models/valuation_point_data_response.py +107 -0
  30. {lusid_sdk-2.0.455.dist-info → lusid_sdk-2.0.485.dist-info}/METADATA +28 -6
  31. {lusid_sdk-2.0.455.dist-info → lusid_sdk-2.0.485.dist-info}/RECORD +32 -19
  32. {lusid_sdk-2.0.455.dist-info → lusid_sdk-2.0.485.dist-info}/WHEEL +0 -0
lusid/configuration.py CHANGED
@@ -373,7 +373,7 @@ class Configuration:
373
373
  return "Python SDK Debug Report:\n"\
374
374
  "OS: {env}\n"\
375
375
  "Python Version: {pyversion}\n"\
376
- "Version of the API: 0.11.6402\n"\
376
+ "Version of the API: 0.11.6432\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
@@ -184,6 +184,7 @@ class ApiClientFactory:
184
184
  A list of aiohttp TraceConfigs, used to set up request tracing.
185
185
  by default None
186
186
  """
187
+ is_owner = True
187
188
  api_config = get_api_configuration(config_loaders=config_loaders)
188
189
  api_client_config = api_config.build_api_client_config(
189
190
  tcp_keep_alive=tcp_keep_alive,
@@ -197,6 +198,7 @@ class ApiClientFactory:
197
198
  try:
198
199
  if client_session is not None:
199
200
  connector = client_session.connector
201
+ is_owner = False
200
202
  # by default take explicitly passed trace_config param
201
203
  # otherwise copy from session.
202
204
  trace_configs = trace_configs or client_session.trace_configs
@@ -209,7 +211,8 @@ class ApiClientFactory:
209
211
  rc.pool_manager = ClientSession(
210
212
  connector=connector,
211
213
  trust_env=True,
212
- trace_configs=trace_configs
214
+ trace_configs=trace_configs,
215
+ connector_owner=is_owner
213
216
  )
214
217
  except AttributeError:
215
218
  logger.exception("client_session must be an aiohttp.ClientSession"
lusid/models/__init__.py CHANGED
@@ -199,6 +199,7 @@ from lusid.models.create_relation_request import CreateRelationRequest
199
199
  from lusid.models.create_relationship_definition_request import CreateRelationshipDefinitionRequest
200
200
  from lusid.models.create_relationship_request import CreateRelationshipRequest
201
201
  from lusid.models.create_sequence_request import CreateSequenceRequest
202
+ from lusid.models.create_staging_rule_set_request import CreateStagingRuleSetRequest
202
203
  from lusid.models.create_tax_rule_set_request import CreateTaxRuleSetRequest
203
204
  from lusid.models.create_trade_tickets_response import CreateTradeTicketsResponse
204
205
  from lusid.models.create_transaction_portfolio_request import CreateTransactionPortfolioRequest
@@ -551,6 +552,7 @@ from lusid.models.paged_resource_list_of_reconciliation import PagedResourceList
551
552
  from lusid.models.paged_resource_list_of_reference_list_response import PagedResourceListOfReferenceListResponse
552
553
  from lusid.models.paged_resource_list_of_relationship_definition import PagedResourceListOfRelationshipDefinition
553
554
  from lusid.models.paged_resource_list_of_sequence_definition import PagedResourceListOfSequenceDefinition
555
+ from lusid.models.paged_resource_list_of_staging_rule_set import PagedResourceListOfStagingRuleSet
554
556
  from lusid.models.paged_resource_list_of_transaction_template import PagedResourceListOfTransactionTemplate
555
557
  from lusid.models.paged_resource_list_of_transaction_template_specification import PagedResourceListOfTransactionTemplateSpecification
556
558
  from lusid.models.paged_resource_list_of_translation_script_id import PagedResourceListOfTranslationScriptId
@@ -763,6 +765,7 @@ from lusid.models.set_legal_entity_identifiers_request import SetLegalEntityIden
763
765
  from lusid.models.set_legal_entity_properties_request import SetLegalEntityPropertiesRequest
764
766
  from lusid.models.set_person_identifiers_request import SetPersonIdentifiersRequest
765
767
  from lusid.models.set_person_properties_request import SetPersonPropertiesRequest
768
+ from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
766
769
  from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
767
770
  from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
768
771
  from lusid.models.side_configuration_data import SideConfigurationData
@@ -773,6 +776,10 @@ from lusid.models.sides_definition_request import SidesDefinitionRequest
773
776
  from lusid.models.simple_cash_flow_loan import SimpleCashFlowLoan
774
777
  from lusid.models.simple_instrument import SimpleInstrument
775
778
  from lusid.models.sort_order import SortOrder
779
+ from lusid.models.staging_rule import StagingRule
780
+ from lusid.models.staging_rule_approval_criteria import StagingRuleApprovalCriteria
781
+ from lusid.models.staging_rule_match_criteria import StagingRuleMatchCriteria
782
+ from lusid.models.staging_rule_set import StagingRuleSet
776
783
  from lusid.models.step_schedule import StepSchedule
777
784
  from lusid.models.stock_split_event import StockSplitEvent
778
785
  from lusid.models.stream import Stream
@@ -858,6 +865,7 @@ from lusid.models.update_portfolio_request import UpdatePortfolioRequest
858
865
  from lusid.models.update_property_definition_request import UpdatePropertyDefinitionRequest
859
866
  from lusid.models.update_reconciliation_request import UpdateReconciliationRequest
860
867
  from lusid.models.update_relationship_definition_request import UpdateRelationshipDefinitionRequest
868
+ from lusid.models.update_staging_rule_set_request import UpdateStagingRuleSetRequest
861
869
  from lusid.models.update_tax_rule_set_request import UpdateTaxRuleSetRequest
862
870
  from lusid.models.update_unit_request import UpdateUnitRequest
863
871
  from lusid.models.upsert_cds_flow_conventions_request import UpsertCdsFlowConventionsRequest
@@ -901,7 +909,11 @@ from lusid.models.upsert_structured_data_response import UpsertStructuredDataRes
901
909
  from lusid.models.upsert_structured_result_data_request import UpsertStructuredResultDataRequest
902
910
  from lusid.models.upsert_transaction_properties_response import UpsertTransactionPropertiesResponse
903
911
  from lusid.models.upsert_translation_script_request import UpsertTranslationScriptRequest
912
+ from lusid.models.upsert_valuation_point_request import UpsertValuationPointRequest
904
913
  from lusid.models.user import User
914
+ from lusid.models.valuation_point_data_query_parameters import ValuationPointDataQueryParameters
915
+ from lusid.models.valuation_point_data_request import ValuationPointDataRequest
916
+ from lusid.models.valuation_point_data_response import ValuationPointDataResponse
905
917
  from lusid.models.valuation_request import ValuationRequest
906
918
  from lusid.models.valuation_schedule import ValuationSchedule
907
919
  from lusid.models.valuations_reconciliation_request import ValuationsReconciliationRequest
@@ -1117,6 +1129,7 @@ __all__ = [
1117
1129
  "CreateRelationshipDefinitionRequest",
1118
1130
  "CreateRelationshipRequest",
1119
1131
  "CreateSequenceRequest",
1132
+ "CreateStagingRuleSetRequest",
1120
1133
  "CreateTaxRuleSetRequest",
1121
1134
  "CreateTradeTicketsResponse",
1122
1135
  "CreateTransactionPortfolioRequest",
@@ -1469,6 +1482,7 @@ __all__ = [
1469
1482
  "PagedResourceListOfReferenceListResponse",
1470
1483
  "PagedResourceListOfRelationshipDefinition",
1471
1484
  "PagedResourceListOfSequenceDefinition",
1485
+ "PagedResourceListOfStagingRuleSet",
1472
1486
  "PagedResourceListOfTransactionTemplate",
1473
1487
  "PagedResourceListOfTransactionTemplateSpecification",
1474
1488
  "PagedResourceListOfTranslationScriptId",
@@ -1681,6 +1695,7 @@ __all__ = [
1681
1695
  "SetLegalEntityPropertiesRequest",
1682
1696
  "SetPersonIdentifiersRequest",
1683
1697
  "SetPersonPropertiesRequest",
1698
+ "SetShareClassInstrumentsRequest",
1684
1699
  "SetTransactionConfigurationAlias",
1685
1700
  "SetTransactionConfigurationSourceRequest",
1686
1701
  "SideConfigurationData",
@@ -1691,6 +1706,10 @@ __all__ = [
1691
1706
  "SimpleCashFlowLoan",
1692
1707
  "SimpleInstrument",
1693
1708
  "SortOrder",
1709
+ "StagingRule",
1710
+ "StagingRuleApprovalCriteria",
1711
+ "StagingRuleMatchCriteria",
1712
+ "StagingRuleSet",
1694
1713
  "StepSchedule",
1695
1714
  "StockSplitEvent",
1696
1715
  "Stream",
@@ -1776,6 +1795,7 @@ __all__ = [
1776
1795
  "UpdatePropertyDefinitionRequest",
1777
1796
  "UpdateReconciliationRequest",
1778
1797
  "UpdateRelationshipDefinitionRequest",
1798
+ "UpdateStagingRuleSetRequest",
1779
1799
  "UpdateTaxRuleSetRequest",
1780
1800
  "UpdateUnitRequest",
1781
1801
  "UpsertCdsFlowConventionsRequest",
@@ -1819,7 +1839,11 @@ __all__ = [
1819
1839
  "UpsertStructuredResultDataRequest",
1820
1840
  "UpsertTransactionPropertiesResponse",
1821
1841
  "UpsertTranslationScriptRequest",
1842
+ "UpsertValuationPointRequest",
1822
1843
  "User",
1844
+ "ValuationPointDataQueryParameters",
1845
+ "ValuationPointDataRequest",
1846
+ "ValuationPointDataResponse",
1823
1847
  "ValuationRequest",
1824
1848
  "ValuationSchedule",
1825
1849
  "ValuationsReconciliationRequest",
@@ -26,7 +26,7 @@ class CreateDerivedPropertyDefinitionRequest(BaseModel):
26
26
  """
27
27
  CreateDerivedPropertyDefinitionRequest
28
28
  """
29
- domain: StrictStr = Field(..., description="The domain that the property exists in. Not all available values are currently supported, please check the documentation: https://support.lusid.com/knowledgebase/article/KA-01719/. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg")
29
+ domain: StrictStr = Field(..., description="The domain that the property exists in. Not all available values are currently supported, please check the documentation: https://support.lusid.com/knowledgebase/article/KA-01719/. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg, DerivedValuation")
30
30
  scope: StrictStr = Field(..., description="The scope that the property exists in.")
31
31
  code: StrictStr = Field(..., description="The code of the property. Together with the domain and scope this uniquely identifies the property.")
32
32
  display_name: constr(strict=True, min_length=1) = Field(..., alias="displayName", description="The display name of the property.")
@@ -38,8 +38,8 @@ class CreateDerivedPropertyDefinitionRequest(BaseModel):
38
38
  @validator('domain')
39
39
  def domain_validate_enum(cls, value):
40
40
  """Validates the enum"""
41
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg'):
42
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg')")
41
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation'):
42
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation')")
43
43
  return value
44
44
 
45
45
  class Config:
@@ -26,7 +26,7 @@ class CreatePropertyDefinitionRequest(BaseModel):
26
26
  """
27
27
  CreatePropertyDefinitionRequest
28
28
  """
29
- domain: StrictStr = Field(..., description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg")
29
+ domain: StrictStr = Field(..., description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg, DerivedValuation")
30
30
  scope: StrictStr = Field(..., description="The scope that the property exists in.")
31
31
  code: StrictStr = Field(..., description="The code of the property. Together with the domain and scope this uniquely identifies the property.")
32
32
  value_required: Optional[StrictBool] = Field(None, alias="valueRequired", description="This field is not implemented and should be disregarded.")
@@ -41,8 +41,8 @@ class CreatePropertyDefinitionRequest(BaseModel):
41
41
  @validator('domain')
42
42
  def domain_validate_enum(cls, value):
43
43
  """Validates the enum"""
44
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg'):
45
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg')")
44
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation'):
45
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation')")
46
46
  return value
47
47
 
48
48
  @validator('life_time')
@@ -0,0 +1,91 @@
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 import BaseModel, Field, conlist, constr
23
+ from lusid.models.staging_rule import StagingRule
24
+
25
+ class CreateStagingRuleSetRequest(BaseModel):
26
+ """
27
+ CreateStagingRuleSetRequest
28
+ """
29
+ display_name: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, alias="displayName", description="The name of the staging rule set.")
30
+ description: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="A description for the staging rule set.")
31
+ rules: conlist(StagingRule) = Field(..., description="The list of staging rules that apply to a specific entity type.")
32
+ __properties = ["displayName", "description", "rules"]
33
+
34
+ class Config:
35
+ """Pydantic configuration"""
36
+ allow_population_by_field_name = True
37
+ validate_assignment = True
38
+
39
+ def to_str(self) -> str:
40
+ """Returns the string representation of the model using alias"""
41
+ return pprint.pformat(self.dict(by_alias=True))
42
+
43
+ def to_json(self) -> str:
44
+ """Returns the JSON representation of the model using alias"""
45
+ return json.dumps(self.to_dict())
46
+
47
+ @classmethod
48
+ def from_json(cls, json_str: str) -> CreateStagingRuleSetRequest:
49
+ """Create an instance of CreateStagingRuleSetRequest from a JSON string"""
50
+ return cls.from_dict(json.loads(json_str))
51
+
52
+ def to_dict(self):
53
+ """Returns the dictionary representation of the model using alias"""
54
+ _dict = self.dict(by_alias=True,
55
+ exclude={
56
+ },
57
+ exclude_none=True)
58
+ # override the default output from pydantic by calling `to_dict()` of each item in rules (list)
59
+ _items = []
60
+ if self.rules:
61
+ for _item in self.rules:
62
+ if _item:
63
+ _items.append(_item.to_dict())
64
+ _dict['rules'] = _items
65
+ # set to None if display_name (nullable) is None
66
+ # and __fields_set__ contains the field
67
+ if self.display_name is None and "display_name" in self.__fields_set__:
68
+ _dict['displayName'] = None
69
+
70
+ # set to None if description (nullable) is None
71
+ # and __fields_set__ contains the field
72
+ if self.description is None and "description" in self.__fields_set__:
73
+ _dict['description'] = None
74
+
75
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: dict) -> CreateStagingRuleSetRequest:
79
+ """Create an instance of CreateStagingRuleSetRequest from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return CreateStagingRuleSetRequest.parse_obj(obj)
85
+
86
+ _obj = CreateStagingRuleSetRequest.parse_obj({
87
+ "display_name": obj.get("displayName"),
88
+ "description": obj.get("description"),
89
+ "rules": [StagingRule.from_dict(_item) for _item in obj.get("rules")] if obj.get("rules") is not None else None
90
+ })
91
+ return _obj
@@ -33,7 +33,7 @@ class FundRequest(BaseModel):
33
33
  display_name: Optional[constr(strict=True, max_length=256, min_length=1)] = Field(None, alias="displayName", description="The name of the Fund.")
34
34
  description: Optional[constr(strict=True, max_length=1024, min_length=0)] = Field(None, description="A description for the Fund.")
35
35
  abor_id: ResourceId = Field(..., alias="aborId")
36
- share_class_instrument_scopes: Optional[conlist(StrictStr, max_items=1)] = Field(None, alias="shareClassInstrumentScopes", description="The scopes in which the instruments lie.")
36
+ share_class_instrument_scopes: Optional[conlist(StrictStr, max_items=1)] = Field(None, alias="shareClassInstrumentScopes", description="The scopes in which the instruments lie, currently limited to one.")
37
37
  share_class_instruments: Optional[conlist(InstrumentResolutionDetail)] = Field(None, alias="shareClassInstruments", description="Details the user-provided instrument identifiers and the instrument resolved from them.")
38
38
  type: constr(strict=True, min_length=1) = Field(..., description="The type of fund; 'Standalone', 'Master' or 'Feeder'")
39
39
  inception_date: datetime = Field(..., alias="inceptionDate", description="Inception date of the Fund")
@@ -20,13 +20,15 @@ import json
20
20
 
21
21
  from typing import Any, Dict, List, Optional
22
22
  from pydantic import BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.resource_id import ResourceId
23
24
 
24
25
  class InstrumentEventConfiguration(BaseModel):
25
26
  """
26
27
  InstrumentEventConfiguration
27
28
  """
28
29
  transaction_template_scopes: Optional[conlist(StrictStr)] = Field(None, alias="transactionTemplateScopes")
29
- __properties = ["transactionTemplateScopes"]
30
+ recipe_id: Optional[ResourceId] = Field(None, alias="recipeId")
31
+ __properties = ["transactionTemplateScopes", "recipeId"]
30
32
 
31
33
  class Config:
32
34
  """Pydantic configuration"""
@@ -52,6 +54,9 @@ class InstrumentEventConfiguration(BaseModel):
52
54
  exclude={
53
55
  },
54
56
  exclude_none=True)
57
+ # override the default output from pydantic by calling `to_dict()` of recipe_id
58
+ if self.recipe_id:
59
+ _dict['recipeId'] = self.recipe_id.to_dict()
55
60
  # set to None if transaction_template_scopes (nullable) is None
56
61
  # and __fields_set__ contains the field
57
62
  if self.transaction_template_scopes is None and "transaction_template_scopes" in self.__fields_set__:
@@ -69,6 +74,7 @@ class InstrumentEventConfiguration(BaseModel):
69
74
  return InstrumentEventConfiguration.parse_obj(obj)
70
75
 
71
76
  _obj = InstrumentEventConfiguration.parse_obj({
72
- "transaction_template_scopes": obj.get("transactionTemplateScopes")
77
+ "transaction_template_scopes": obj.get("transactionTemplateScopes"),
78
+ "recipe_id": ResourceId.from_dict(obj.get("recipeId")) if obj.get("recipeId") is not None else None
73
79
  })
74
80
  return _obj
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict, List, Union
21
+ from typing import Any, Dict, List, Optional, Union
22
22
  from pydantic import BaseModel, Field, StrictFloat, StrictInt, conlist
23
23
  from lusid.models.order_graph_block_order_detail import OrderGraphBlockOrderDetail
24
24
 
@@ -27,8 +27,9 @@ class OrderGraphBlockOrderSynopsis(BaseModel):
27
27
  OrderGraphBlockOrderSynopsis
28
28
  """
29
29
  quantity: Union[StrictFloat, StrictInt] = Field(..., description="Total number of units ordered.")
30
+ quantity_by_state: Optional[Dict[str, Union[StrictFloat, StrictInt]]] = Field(None, alias="quantityByState", description="Total number of units placed.")
30
31
  details: conlist(OrderGraphBlockOrderDetail) = Field(..., description="Identifiers and other info for each order in this block.")
31
- __properties = ["quantity", "details"]
32
+ __properties = ["quantity", "quantityByState", "details"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -61,6 +62,11 @@ class OrderGraphBlockOrderSynopsis(BaseModel):
61
62
  if _item:
62
63
  _items.append(_item.to_dict())
63
64
  _dict['details'] = _items
65
+ # set to None if quantity_by_state (nullable) is None
66
+ # and __fields_set__ contains the field
67
+ if self.quantity_by_state is None and "quantity_by_state" in self.__fields_set__:
68
+ _dict['quantityByState'] = None
69
+
64
70
  return _dict
65
71
 
66
72
  @classmethod
@@ -74,6 +80,7 @@ class OrderGraphBlockOrderSynopsis(BaseModel):
74
80
 
75
81
  _obj = OrderGraphBlockOrderSynopsis.parse_obj({
76
82
  "quantity": obj.get("quantity"),
83
+ "quantity_by_state": obj.get("quantityByState"),
77
84
  "details": [OrderGraphBlockOrderDetail.from_dict(_item) for _item in obj.get("details")] if obj.get("details") is not None else None
78
85
  })
79
86
  return _obj
@@ -18,7 +18,7 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict, List, Union
21
+ from typing import Any, Dict, List, Optional, Union
22
22
  from pydantic import BaseModel, Field, StrictFloat, StrictInt, conlist
23
23
  from lusid.models.order_graph_block_placement_detail import OrderGraphBlockPlacementDetail
24
24
 
@@ -27,8 +27,9 @@ class OrderGraphBlockPlacementSynopsis(BaseModel):
27
27
  OrderGraphBlockPlacementSynopsis
28
28
  """
29
29
  quantity: Union[StrictFloat, StrictInt] = Field(..., description="Total number of units placed.")
30
+ quantity_by_state: Optional[Dict[str, Union[StrictFloat, StrictInt]]] = Field(None, alias="quantityByState", description="Total number of units placed.")
30
31
  details: conlist(OrderGraphBlockPlacementDetail) = Field(..., description="Identifiers for each placement in this block.")
31
- __properties = ["quantity", "details"]
32
+ __properties = ["quantity", "quantityByState", "details"]
32
33
 
33
34
  class Config:
34
35
  """Pydantic configuration"""
@@ -61,6 +62,11 @@ class OrderGraphBlockPlacementSynopsis(BaseModel):
61
62
  if _item:
62
63
  _items.append(_item.to_dict())
63
64
  _dict['details'] = _items
65
+ # set to None if quantity_by_state (nullable) is None
66
+ # and __fields_set__ contains the field
67
+ if self.quantity_by_state is None and "quantity_by_state" in self.__fields_set__:
68
+ _dict['quantityByState'] = None
69
+
64
70
  return _dict
65
71
 
66
72
  @classmethod
@@ -74,6 +80,7 @@ class OrderGraphBlockPlacementSynopsis(BaseModel):
74
80
 
75
81
  _obj = OrderGraphBlockPlacementSynopsis.parse_obj({
76
82
  "quantity": obj.get("quantity"),
83
+ "quantity_by_state": obj.get("quantityByState"),
77
84
  "details": [OrderGraphBlockPlacementDetail.from_dict(_item) for _item in obj.get("details")] if obj.get("details") is not None else None
78
85
  })
79
86
  return _obj
@@ -0,0 +1,113 @@
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 import BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.link import Link
24
+ from lusid.models.staging_rule_set import StagingRuleSet
25
+
26
+ class PagedResourceListOfStagingRuleSet(BaseModel):
27
+ """
28
+ PagedResourceListOfStagingRuleSet
29
+ """
30
+ next_page: Optional[StrictStr] = Field(None, alias="nextPage")
31
+ previous_page: Optional[StrictStr] = Field(None, alias="previousPage")
32
+ values: conlist(StagingRuleSet) = Field(...)
33
+ href: Optional[StrictStr] = None
34
+ links: Optional[conlist(Link)] = None
35
+ __properties = ["nextPage", "previousPage", "values", "href", "links"]
36
+
37
+ class Config:
38
+ """Pydantic configuration"""
39
+ allow_population_by_field_name = True
40
+ validate_assignment = True
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.dict(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> PagedResourceListOfStagingRuleSet:
52
+ """Create an instance of PagedResourceListOfStagingRuleSet from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self):
56
+ """Returns the dictionary representation of the model using alias"""
57
+ _dict = self.dict(by_alias=True,
58
+ exclude={
59
+ },
60
+ exclude_none=True)
61
+ # override the default output from pydantic by calling `to_dict()` of each item in values (list)
62
+ _items = []
63
+ if self.values:
64
+ for _item in self.values:
65
+ if _item:
66
+ _items.append(_item.to_dict())
67
+ _dict['values'] = _items
68
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
69
+ _items = []
70
+ if self.links:
71
+ for _item in self.links:
72
+ if _item:
73
+ _items.append(_item.to_dict())
74
+ _dict['links'] = _items
75
+ # set to None if next_page (nullable) is None
76
+ # and __fields_set__ contains the field
77
+ if self.next_page is None and "next_page" in self.__fields_set__:
78
+ _dict['nextPage'] = None
79
+
80
+ # set to None if previous_page (nullable) is None
81
+ # and __fields_set__ contains the field
82
+ if self.previous_page is None and "previous_page" in self.__fields_set__:
83
+ _dict['previousPage'] = None
84
+
85
+ # set to None if href (nullable) is None
86
+ # and __fields_set__ contains the field
87
+ if self.href is None and "href" in self.__fields_set__:
88
+ _dict['href'] = None
89
+
90
+ # set to None if links (nullable) is None
91
+ # and __fields_set__ contains the field
92
+ if self.links is None and "links" in self.__fields_set__:
93
+ _dict['links'] = None
94
+
95
+ return _dict
96
+
97
+ @classmethod
98
+ def from_dict(cls, obj: dict) -> PagedResourceListOfStagingRuleSet:
99
+ """Create an instance of PagedResourceListOfStagingRuleSet from a dict"""
100
+ if obj is None:
101
+ return None
102
+
103
+ if not isinstance(obj, dict):
104
+ return PagedResourceListOfStagingRuleSet.parse_obj(obj)
105
+
106
+ _obj = PagedResourceListOfStagingRuleSet.parse_obj({
107
+ "next_page": obj.get("nextPage"),
108
+ "previous_page": obj.get("previousPage"),
109
+ "values": [StagingRuleSet.from_dict(_item) for _item in obj.get("values")] if obj.get("values") is not None else None,
110
+ "href": obj.get("href"),
111
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
112
+ })
113
+ return _obj
@@ -36,7 +36,7 @@ class PropertyDefinition(BaseModel):
36
36
  data_type_id: Optional[ResourceId] = Field(None, alias="dataTypeId")
37
37
  type: Optional[StrictStr] = Field(None, description="The type of the property. The available values are: Label, Metric, Information")
38
38
  unit_schema: Optional[StrictStr] = Field(None, alias="unitSchema", description="The units that can be associated with the property's values. This is defined by the property's data type. The available values are: NoUnits, Basic, Iso4217Currency")
39
- domain: Optional[StrictStr] = Field(None, description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg")
39
+ domain: Optional[StrictStr] = Field(None, description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg, DerivedValuation")
40
40
  scope: Optional[StrictStr] = Field(None, description="The scope that the property exists in.")
41
41
  code: Optional[StrictStr] = Field(None, description="The code of the property. Together with the domain and scope this uniquely identifies the property.")
42
42
  value_required: Optional[StrictBool] = Field(None, alias="valueRequired", description="This field is not implemented and should be disregarded.")
@@ -87,8 +87,8 @@ class PropertyDefinition(BaseModel):
87
87
  if value is None:
88
88
  return value
89
89
 
90
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg'):
91
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg')")
90
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation'):
91
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation')")
92
92
  return value
93
93
 
94
94
  @validator('life_time')
@@ -34,7 +34,7 @@ class PropertyDefinitionSearchResult(BaseModel):
34
34
  data_type_id: Optional[ResourceId] = Field(None, alias="dataTypeId")
35
35
  type: Optional[StrictStr] = Field(None, description="The type of the property. The available values are: Label, Metric, Information")
36
36
  unit_schema: Optional[StrictStr] = Field(None, alias="unitSchema", description="The units that can be associated with the property's values. This is defined by the property's data type. The available values are: NoUnits, Basic, Iso4217Currency")
37
- domain: Optional[StrictStr] = Field(None, description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg")
37
+ domain: Optional[StrictStr] = Field(None, description="The domain that the property exists in. The available values are: 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, Reconciliation, PropertyDefinition, Compliance, DiaryEntry, Leg, DerivedValuation")
38
38
  scope: Optional[StrictStr] = Field(None, description="The scope that the property exists in.")
39
39
  code: Optional[StrictStr] = Field(None, description="The code of the property. Together with the domain and scope this uniquely identifies the property.")
40
40
  value_required: Optional[StrictBool] = Field(None, alias="valueRequired", description="This field is not implemented and should be disregarded.")
@@ -82,8 +82,8 @@ class PropertyDefinitionSearchResult(BaseModel):
82
82
  if value is None:
83
83
  return value
84
84
 
85
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg'):
86
- 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg')")
85
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation'):
86
+ 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', 'Reconciliation', 'PropertyDefinition', 'Compliance', 'DiaryEntry', 'Leg', 'DerivedValuation')")
87
87
  return value
88
88
 
89
89
  @validator('life_time')
@@ -68,6 +68,7 @@ class PropertyDomain(str, Enum):
68
68
  COMPLIANCE = 'Compliance'
69
69
  DIARYENTRY = 'DiaryEntry'
70
70
  LEG = 'Leg'
71
+ DERIVEDVALUATION = 'DerivedValuation'
71
72
 
72
73
  @classmethod
73
74
  def from_json(cls, json_str: str) -> PropertyDomain: