lusid-sdk 2.1.261__py3-none-any.whl → 2.1.292__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 (44) hide show
  1. lusid/__init__.py +30 -0
  2. lusid/api/compliance_api.py +191 -0
  3. lusid/api/funds_api.py +1 -1
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +30 -0
  6. lusid/models/cash.py +93 -0
  7. lusid/models/compliance_run_configuration.py +73 -0
  8. lusid/models/component_filter.py +85 -0
  9. lusid/models/component_rule.py +13 -19
  10. lusid/models/contract_for_difference.py +4 -2
  11. lusid/models/fund.py +6 -1
  12. lusid/models/fund_amount.py +69 -0
  13. lusid/models/fund_configuration.py +16 -15
  14. lusid/models/fund_configuration_request.py +18 -12
  15. lusid/models/fund_previous_nav.py +69 -0
  16. lusid/models/fund_request.py +6 -1
  17. lusid/models/fund_valuation_point_data.py +160 -0
  18. lusid/models/futures_contract_details.py +9 -2
  19. lusid/models/lusid_instrument.py +3 -2
  20. lusid/models/market_data_key_rule.py +3 -3
  21. lusid/models/market_data_specific_rule.py +3 -3
  22. lusid/models/market_quote.py +3 -3
  23. lusid/models/model_selection.py +3 -3
  24. lusid/models/pre_trade_configuration.py +69 -0
  25. lusid/models/previous_fund_valuation_point_data.py +79 -0
  26. lusid/models/previous_nav.py +73 -0
  27. lusid/models/previous_share_class_breakdown.py +81 -0
  28. lusid/models/pricing_model.py +1 -0
  29. lusid/models/quote_series_id.py +4 -20
  30. lusid/models/quote_type.py +3 -0
  31. lusid/models/share_class_amount.py +73 -0
  32. lusid/models/share_class_breakdown.py +171 -0
  33. lusid/models/share_class_data.py +79 -0
  34. lusid/models/share_class_details.py +108 -0
  35. lusid/models/staged_modification.py +8 -1
  36. lusid/models/transaction_configuration_movement_data.py +2 -2
  37. lusid/models/transaction_configuration_movement_data_request.py +1 -1
  38. lusid/models/transaction_field_map.py +1 -1
  39. lusid/models/transaction_type_movement.py +2 -2
  40. lusid/models/unitisation_data.py +73 -0
  41. lusid/models/valuation_point_data_response.py +30 -9
  42. {lusid_sdk-2.1.261.dist-info → lusid_sdk-2.1.292.dist-info}/METADATA +20 -4
  43. {lusid_sdk-2.1.261.dist-info → lusid_sdk-2.1.292.dist-info}/RECORD +44 -29
  44. {lusid_sdk-2.1.261.dist-info → lusid_sdk-2.1.292.dist-info}/WHEEL +0 -0
lusid/__init__.py CHANGED
@@ -189,6 +189,7 @@ from lusid.models.cancel_placements_response import CancelPlacementsResponse
189
189
  from lusid.models.cancelled_placement_result import CancelledPlacementResult
190
190
  from lusid.models.cap_floor import CapFloor
191
191
  from lusid.models.capital_distribution_event import CapitalDistributionEvent
192
+ from lusid.models.cash import Cash
192
193
  from lusid.models.cash_and_security_offer_election import CashAndSecurityOfferElection
193
194
  from lusid.models.cash_dependency import CashDependency
194
195
  from lusid.models.cash_dividend_event import CashDividendEvent
@@ -240,6 +241,7 @@ from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
240
241
  from lusid.models.compliance_rule_template import ComplianceRuleTemplate
241
242
  from lusid.models.compliance_rule_upsert_request import ComplianceRuleUpsertRequest
242
243
  from lusid.models.compliance_rule_upsert_response import ComplianceRuleUpsertResponse
244
+ from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
243
245
  from lusid.models.compliance_run_info import ComplianceRunInfo
244
246
  from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
245
247
  from lusid.models.compliance_step import ComplianceStep
@@ -253,6 +255,7 @@ from lusid.models.compliance_template_parameter import ComplianceTemplateParamet
253
255
  from lusid.models.compliance_template_variation import ComplianceTemplateVariation
254
256
  from lusid.models.compliance_template_variation_dto import ComplianceTemplateVariationDto
255
257
  from lusid.models.compliance_template_variation_request import ComplianceTemplateVariationRequest
258
+ from lusid.models.component_filter import ComponentFilter
256
259
  from lusid.models.component_rule import ComponentRule
257
260
  from lusid.models.component_transaction import ComponentTransaction
258
261
  from lusid.models.composite_breakdown import CompositeBreakdown
@@ -420,12 +423,15 @@ from lusid.models.flow_conventions import FlowConventions
420
423
  from lusid.models.forward_rate_agreement import ForwardRateAgreement
421
424
  from lusid.models.from_recipe import FromRecipe
422
425
  from lusid.models.fund import Fund
426
+ from lusid.models.fund_amount import FundAmount
423
427
  from lusid.models.fund_configuration import FundConfiguration
424
428
  from lusid.models.fund_configuration_properties import FundConfigurationProperties
425
429
  from lusid.models.fund_configuration_request import FundConfigurationRequest
430
+ from lusid.models.fund_previous_nav import FundPreviousNAV
426
431
  from lusid.models.fund_properties import FundProperties
427
432
  from lusid.models.fund_request import FundRequest
428
433
  from lusid.models.fund_share_class import FundShareClass
434
+ from lusid.models.fund_valuation_point_data import FundValuationPointData
429
435
  from lusid.models.funding_leg import FundingLeg
430
436
  from lusid.models.funding_leg_options import FundingLegOptions
431
437
  from lusid.models.future import Future
@@ -733,7 +739,11 @@ from lusid.models.posting_module_request import PostingModuleRequest
733
739
  from lusid.models.posting_module_response import PostingModuleResponse
734
740
  from lusid.models.posting_module_rule import PostingModuleRule
735
741
  from lusid.models.posting_module_rules_updated_response import PostingModuleRulesUpdatedResponse
742
+ from lusid.models.pre_trade_configuration import PreTradeConfiguration
736
743
  from lusid.models.premium import Premium
744
+ from lusid.models.previous_fund_valuation_point_data import PreviousFundValuationPointData
745
+ from lusid.models.previous_nav import PreviousNAV
746
+ from lusid.models.previous_share_class_breakdown import PreviousShareClassBreakdown
737
747
  from lusid.models.pricing_context import PricingContext
738
748
  from lusid.models.pricing_model import PricingModel
739
749
  from lusid.models.pricing_options import PricingOptions
@@ -914,6 +924,10 @@ from lusid.models.set_share_class_instruments_request import SetShareClassInstru
914
924
  from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
915
925
  from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
916
926
  from lusid.models.settlement_schedule import SettlementSchedule
927
+ from lusid.models.share_class_amount import ShareClassAmount
928
+ from lusid.models.share_class_breakdown import ShareClassBreakdown
929
+ from lusid.models.share_class_data import ShareClassData
930
+ from lusid.models.share_class_details import ShareClassDetails
917
931
  from lusid.models.side_configuration_data import SideConfigurationData
918
932
  from lusid.models.side_configuration_data_request import SideConfigurationDataRequest
919
933
  from lusid.models.side_definition import SideDefinition
@@ -1007,6 +1021,7 @@ from lusid.models.trial_balance_query_parameters import TrialBalanceQueryParamet
1007
1021
  from lusid.models.trigger_event import TriggerEvent
1008
1022
  from lusid.models.typed_resource_id import TypedResourceId
1009
1023
  from lusid.models.unit_schema import UnitSchema
1024
+ from lusid.models.unitisation_data import UnitisationData
1010
1025
  from lusid.models.units_ratio import UnitsRatio
1011
1026
  from lusid.models.unmatched_holding_method import UnmatchedHoldingMethod
1012
1027
  from lusid.models.update_amortisation_rule_set_details_request import UpdateAmortisationRuleSetDetailsRequest
@@ -1279,6 +1294,7 @@ __all__ = [
1279
1294
  "CancelledPlacementResult",
1280
1295
  "CapFloor",
1281
1296
  "CapitalDistributionEvent",
1297
+ "Cash",
1282
1298
  "CashAndSecurityOfferElection",
1283
1299
  "CashDependency",
1284
1300
  "CashDividendEvent",
@@ -1330,6 +1346,7 @@ __all__ = [
1330
1346
  "ComplianceRuleTemplate",
1331
1347
  "ComplianceRuleUpsertRequest",
1332
1348
  "ComplianceRuleUpsertResponse",
1349
+ "ComplianceRunConfiguration",
1333
1350
  "ComplianceRunInfo",
1334
1351
  "ComplianceRunInfoV2",
1335
1352
  "ComplianceStep",
@@ -1343,6 +1360,7 @@ __all__ = [
1343
1360
  "ComplianceTemplateVariation",
1344
1361
  "ComplianceTemplateVariationDto",
1345
1362
  "ComplianceTemplateVariationRequest",
1363
+ "ComponentFilter",
1346
1364
  "ComponentRule",
1347
1365
  "ComponentTransaction",
1348
1366
  "CompositeBreakdown",
@@ -1510,12 +1528,15 @@ __all__ = [
1510
1528
  "ForwardRateAgreement",
1511
1529
  "FromRecipe",
1512
1530
  "Fund",
1531
+ "FundAmount",
1513
1532
  "FundConfiguration",
1514
1533
  "FundConfigurationProperties",
1515
1534
  "FundConfigurationRequest",
1535
+ "FundPreviousNAV",
1516
1536
  "FundProperties",
1517
1537
  "FundRequest",
1518
1538
  "FundShareClass",
1539
+ "FundValuationPointData",
1519
1540
  "FundingLeg",
1520
1541
  "FundingLegOptions",
1521
1542
  "Future",
@@ -1823,7 +1844,11 @@ __all__ = [
1823
1844
  "PostingModuleResponse",
1824
1845
  "PostingModuleRule",
1825
1846
  "PostingModuleRulesUpdatedResponse",
1847
+ "PreTradeConfiguration",
1826
1848
  "Premium",
1849
+ "PreviousFundValuationPointData",
1850
+ "PreviousNAV",
1851
+ "PreviousShareClassBreakdown",
1827
1852
  "PricingContext",
1828
1853
  "PricingModel",
1829
1854
  "PricingOptions",
@@ -2004,6 +2029,10 @@ __all__ = [
2004
2029
  "SetTransactionConfigurationAlias",
2005
2030
  "SetTransactionConfigurationSourceRequest",
2006
2031
  "SettlementSchedule",
2032
+ "ShareClassAmount",
2033
+ "ShareClassBreakdown",
2034
+ "ShareClassData",
2035
+ "ShareClassDetails",
2007
2036
  "SideConfigurationData",
2008
2037
  "SideConfigurationDataRequest",
2009
2038
  "SideDefinition",
@@ -2097,6 +2126,7 @@ __all__ = [
2097
2126
  "TriggerEvent",
2098
2127
  "TypedResourceId",
2099
2128
  "UnitSchema",
2129
+ "UnitisationData",
2100
2130
  "UnitsRatio",
2101
2131
  "UnmatchedHoldingMethod",
2102
2132
  "UpdateAmortisationRuleSetDetailsRequest",
@@ -29,6 +29,7 @@ from typing import Optional
29
29
  from lusid.models.compliance_rule_response import ComplianceRuleResponse
30
30
  from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
31
31
  from lusid.models.compliance_rule_template import ComplianceRuleTemplate
32
+ from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
32
33
  from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
33
34
  from lusid.models.compliance_template import ComplianceTemplate
34
35
  from lusid.models.create_compliance_template_request import CreateComplianceTemplateRequest
@@ -1964,6 +1965,196 @@ class ComplianceApi:
1964
1965
  collection_formats=_collection_formats,
1965
1966
  _request_auth=_params.get('_request_auth'))
1966
1967
 
1968
+ @overload
1969
+ async def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, **kwargs) -> ComplianceRunInfoV2: # noqa: E501
1970
+ ...
1971
+
1972
+ @overload
1973
+ def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, async_req: Optional[bool]=True, **kwargs) -> ComplianceRunInfoV2: # noqa: E501
1974
+ ...
1975
+
1976
+ @validate_arguments
1977
+ def run_compliance_preview(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ComplianceRunInfoV2, Awaitable[ComplianceRunInfoV2]]: # noqa: E501
1978
+ """[EARLY ACCESS] RunCompliancePreview: Run a compliance check. # noqa: E501
1979
+
1980
+ Use this endpoint to run a compliance check using rules from a specific scope. # noqa: E501
1981
+ This method makes a synchronous HTTP request by default. To make an
1982
+ asynchronous HTTP request, please pass async_req=True
1983
+
1984
+ >>> thread = api.run_compliance_preview(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, async_req=True)
1985
+ >>> result = thread.get()
1986
+
1987
+ :param run_scope: Required: Scope to save the run results in. (required)
1988
+ :type run_scope: str
1989
+ :param rule_scope: Required: Scope from which to select rules to be run. (required)
1990
+ :type rule_scope: str
1991
+ :param recipe_id_scope: Required: the scope of the recipe to be used (required)
1992
+ :type recipe_id_scope: str
1993
+ :param recipe_id_code: Required: The code of the recipe to be used. If left blank, the default recipe will be used. (required)
1994
+ :type recipe_id_code: str
1995
+ :param compliance_run_configuration: Configuration options for the compliance run.
1996
+ :type compliance_run_configuration: ComplianceRunConfiguration
1997
+ :param async_req: Whether to execute the request asynchronously.
1998
+ :type async_req: bool, optional
1999
+ :param _request_timeout: timeout setting for this request.
2000
+ If one number provided, it will be total request
2001
+ timeout. It can also be a pair (tuple) of
2002
+ (connection, read) timeouts.
2003
+ :return: Returns the result object.
2004
+ If the method is called asynchronously,
2005
+ returns the request thread.
2006
+ :rtype: ComplianceRunInfoV2
2007
+ """
2008
+ kwargs['_return_http_data_only'] = True
2009
+ if '_preload_content' in kwargs:
2010
+ message = "Error! Please call the run_compliance_preview_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
2011
+ raise ValueError(message)
2012
+ if async_req is not None:
2013
+ kwargs['async_req'] = async_req
2014
+ return self.run_compliance_preview_with_http_info(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, **kwargs) # noqa: E501
2015
+
2016
+ @validate_arguments
2017
+ def run_compliance_preview_with_http_info(self, run_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope to save the run results in.")], rule_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: Scope from which to select rules to be run.")], recipe_id_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: the scope of the recipe to be used")], recipe_id_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Required: The code of the recipe to be used. If left blank, the default recipe will be used.")], compliance_run_configuration : Annotated[Optional[ComplianceRunConfiguration], Field(description="Configuration options for the compliance run.")] = None, **kwargs) -> ApiResponse: # noqa: E501
2018
+ """[EARLY ACCESS] RunCompliancePreview: Run a compliance check. # noqa: E501
2019
+
2020
+ Use this endpoint to run a compliance check using rules from a specific scope. # noqa: E501
2021
+ This method makes a synchronous HTTP request by default. To make an
2022
+ asynchronous HTTP request, please pass async_req=True
2023
+
2024
+ >>> thread = api.run_compliance_preview_with_http_info(run_scope, rule_scope, recipe_id_scope, recipe_id_code, compliance_run_configuration, async_req=True)
2025
+ >>> result = thread.get()
2026
+
2027
+ :param run_scope: Required: Scope to save the run results in. (required)
2028
+ :type run_scope: str
2029
+ :param rule_scope: Required: Scope from which to select rules to be run. (required)
2030
+ :type rule_scope: str
2031
+ :param recipe_id_scope: Required: the scope of the recipe to be used (required)
2032
+ :type recipe_id_scope: str
2033
+ :param recipe_id_code: Required: The code of the recipe to be used. If left blank, the default recipe will be used. (required)
2034
+ :type recipe_id_code: str
2035
+ :param compliance_run_configuration: Configuration options for the compliance run.
2036
+ :type compliance_run_configuration: ComplianceRunConfiguration
2037
+ :param async_req: Whether to execute the request asynchronously.
2038
+ :type async_req: bool, optional
2039
+ :param _preload_content: if False, the ApiResponse.data will
2040
+ be set to none and raw_data will store the
2041
+ HTTP response body without reading/decoding.
2042
+ Default is True.
2043
+ :type _preload_content: bool, optional
2044
+ :param _return_http_data_only: response data instead of ApiResponse
2045
+ object with status code, headers, etc
2046
+ :type _return_http_data_only: bool, optional
2047
+ :param _request_timeout: timeout setting for this request. If one
2048
+ number provided, it will be total request
2049
+ timeout. It can also be a pair (tuple) of
2050
+ (connection, read) timeouts.
2051
+ :param _request_auth: set to override the auth_settings for an a single
2052
+ request; this effectively ignores the authentication
2053
+ in the spec for a single request.
2054
+ :type _request_auth: dict, optional
2055
+ :type _content_type: string, optional: force content-type for the request
2056
+ :return: Returns the result object.
2057
+ If the method is called asynchronously,
2058
+ returns the request thread.
2059
+ :rtype: tuple(ComplianceRunInfoV2, status_code(int), headers(HTTPHeaderDict))
2060
+ """
2061
+
2062
+ _params = locals()
2063
+
2064
+ _all_params = [
2065
+ 'run_scope',
2066
+ 'rule_scope',
2067
+ 'recipe_id_scope',
2068
+ 'recipe_id_code',
2069
+ 'compliance_run_configuration'
2070
+ ]
2071
+ _all_params.extend(
2072
+ [
2073
+ 'async_req',
2074
+ '_return_http_data_only',
2075
+ '_preload_content',
2076
+ '_request_timeout',
2077
+ '_request_auth',
2078
+ '_content_type',
2079
+ '_headers'
2080
+ ]
2081
+ )
2082
+
2083
+ # validate the arguments
2084
+ for _key, _val in _params['kwargs'].items():
2085
+ if _key not in _all_params:
2086
+ raise ApiTypeError(
2087
+ "Got an unexpected keyword argument '%s'"
2088
+ " to method run_compliance_preview" % _key
2089
+ )
2090
+ _params[_key] = _val
2091
+ del _params['kwargs']
2092
+
2093
+ _collection_formats = {}
2094
+
2095
+ # process the path parameters
2096
+ _path_params = {}
2097
+
2098
+ # process the query parameters
2099
+ _query_params = []
2100
+ if _params.get('run_scope') is not None: # noqa: E501
2101
+ _query_params.append(('runScope', _params['run_scope']))
2102
+
2103
+ if _params.get('rule_scope') is not None: # noqa: E501
2104
+ _query_params.append(('ruleScope', _params['rule_scope']))
2105
+
2106
+ if _params.get('recipe_id_scope') is not None: # noqa: E501
2107
+ _query_params.append(('recipeIdScope', _params['recipe_id_scope']))
2108
+
2109
+ if _params.get('recipe_id_code') is not None: # noqa: E501
2110
+ _query_params.append(('recipeIdCode', _params['recipe_id_code']))
2111
+
2112
+ # process the header parameters
2113
+ _header_params = dict(_params.get('_headers', {}))
2114
+ # process the form parameters
2115
+ _form_params = []
2116
+ _files = {}
2117
+ # process the body parameter
2118
+ _body_params = None
2119
+ if _params['compliance_run_configuration'] is not None:
2120
+ _body_params = _params['compliance_run_configuration']
2121
+
2122
+ # set the HTTP header `Accept`
2123
+ _header_params['Accept'] = self.api_client.select_header_accept(
2124
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
2125
+
2126
+ # set the HTTP header `Content-Type`
2127
+ _content_types_list = _params.get('_content_type',
2128
+ self.api_client.select_header_content_type(
2129
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
2130
+ if _content_types_list:
2131
+ _header_params['Content-Type'] = _content_types_list
2132
+
2133
+ # authentication setting
2134
+ _auth_settings = ['oauth2'] # noqa: E501
2135
+
2136
+ _response_types_map = {
2137
+ '200': "ComplianceRunInfoV2",
2138
+ '400': "LusidValidationProblemDetails",
2139
+ }
2140
+
2141
+ return self.api_client.call_api(
2142
+ '/api/compliance/preview/runs', 'POST',
2143
+ _path_params,
2144
+ _query_params,
2145
+ _header_params,
2146
+ body=_body_params,
2147
+ post_params=_form_params,
2148
+ files=_files,
2149
+ response_types_map=_response_types_map,
2150
+ auth_settings=_auth_settings,
2151
+ async_req=_params.get('async_req'),
2152
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
2153
+ _preload_content=_params.get('_preload_content', True),
2154
+ _request_timeout=_params.get('_request_timeout'),
2155
+ collection_formats=_collection_formats,
2156
+ _request_auth=_params.get('_request_auth'))
2157
+
1967
2158
  @overload
1968
2159
  async def update_compliance_template(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Compliance Rule Template.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Compliance Rule Template.")], update_compliance_template_request : Annotated[UpdateComplianceTemplateRequest, Field(..., description="Request to update a compliance rule template.")], **kwargs) -> ComplianceRuleTemplate: # noqa: E501
1969
2160
  ...
lusid/api/funds_api.py CHANGED
@@ -2750,7 +2750,7 @@ class FundsApi:
2750
2750
  }
2751
2751
 
2752
2752
  return self.api_client.call_api(
2753
- '/api/funds/{scope}/{code}/valuationpoints/$upsert', 'POST',
2753
+ '/api/funds/{scope}/{code}/valuationpoints', 'POST',
2754
2754
  _path_params,
2755
2755
  _query_params,
2756
2756
  _header_params,
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.6694\n"\
376
+ "Version of the API: 0.11.6725\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
lusid/models/__init__.py CHANGED
@@ -110,6 +110,7 @@ from lusid.models.cancel_placements_response import CancelPlacementsResponse
110
110
  from lusid.models.cancelled_placement_result import CancelledPlacementResult
111
111
  from lusid.models.cap_floor import CapFloor
112
112
  from lusid.models.capital_distribution_event import CapitalDistributionEvent
113
+ from lusid.models.cash import Cash
113
114
  from lusid.models.cash_and_security_offer_election import CashAndSecurityOfferElection
114
115
  from lusid.models.cash_dependency import CashDependency
115
116
  from lusid.models.cash_dividend_event import CashDividendEvent
@@ -161,6 +162,7 @@ from lusid.models.compliance_rule_result_v2 import ComplianceRuleResultV2
161
162
  from lusid.models.compliance_rule_template import ComplianceRuleTemplate
162
163
  from lusid.models.compliance_rule_upsert_request import ComplianceRuleUpsertRequest
163
164
  from lusid.models.compliance_rule_upsert_response import ComplianceRuleUpsertResponse
165
+ from lusid.models.compliance_run_configuration import ComplianceRunConfiguration
164
166
  from lusid.models.compliance_run_info import ComplianceRunInfo
165
167
  from lusid.models.compliance_run_info_v2 import ComplianceRunInfoV2
166
168
  from lusid.models.compliance_step import ComplianceStep
@@ -174,6 +176,7 @@ from lusid.models.compliance_template_parameter import ComplianceTemplateParamet
174
176
  from lusid.models.compliance_template_variation import ComplianceTemplateVariation
175
177
  from lusid.models.compliance_template_variation_dto import ComplianceTemplateVariationDto
176
178
  from lusid.models.compliance_template_variation_request import ComplianceTemplateVariationRequest
179
+ from lusid.models.component_filter import ComponentFilter
177
180
  from lusid.models.component_rule import ComponentRule
178
181
  from lusid.models.component_transaction import ComponentTransaction
179
182
  from lusid.models.composite_breakdown import CompositeBreakdown
@@ -341,12 +344,15 @@ from lusid.models.flow_conventions import FlowConventions
341
344
  from lusid.models.forward_rate_agreement import ForwardRateAgreement
342
345
  from lusid.models.from_recipe import FromRecipe
343
346
  from lusid.models.fund import Fund
347
+ from lusid.models.fund_amount import FundAmount
344
348
  from lusid.models.fund_configuration import FundConfiguration
345
349
  from lusid.models.fund_configuration_properties import FundConfigurationProperties
346
350
  from lusid.models.fund_configuration_request import FundConfigurationRequest
351
+ from lusid.models.fund_previous_nav import FundPreviousNAV
347
352
  from lusid.models.fund_properties import FundProperties
348
353
  from lusid.models.fund_request import FundRequest
349
354
  from lusid.models.fund_share_class import FundShareClass
355
+ from lusid.models.fund_valuation_point_data import FundValuationPointData
350
356
  from lusid.models.funding_leg import FundingLeg
351
357
  from lusid.models.funding_leg_options import FundingLegOptions
352
358
  from lusid.models.future import Future
@@ -654,7 +660,11 @@ from lusid.models.posting_module_request import PostingModuleRequest
654
660
  from lusid.models.posting_module_response import PostingModuleResponse
655
661
  from lusid.models.posting_module_rule import PostingModuleRule
656
662
  from lusid.models.posting_module_rules_updated_response import PostingModuleRulesUpdatedResponse
663
+ from lusid.models.pre_trade_configuration import PreTradeConfiguration
657
664
  from lusid.models.premium import Premium
665
+ from lusid.models.previous_fund_valuation_point_data import PreviousFundValuationPointData
666
+ from lusid.models.previous_nav import PreviousNAV
667
+ from lusid.models.previous_share_class_breakdown import PreviousShareClassBreakdown
658
668
  from lusid.models.pricing_context import PricingContext
659
669
  from lusid.models.pricing_model import PricingModel
660
670
  from lusid.models.pricing_options import PricingOptions
@@ -835,6 +845,10 @@ from lusid.models.set_share_class_instruments_request import SetShareClassInstru
835
845
  from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
836
846
  from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
837
847
  from lusid.models.settlement_schedule import SettlementSchedule
848
+ from lusid.models.share_class_amount import ShareClassAmount
849
+ from lusid.models.share_class_breakdown import ShareClassBreakdown
850
+ from lusid.models.share_class_data import ShareClassData
851
+ from lusid.models.share_class_details import ShareClassDetails
838
852
  from lusid.models.side_configuration_data import SideConfigurationData
839
853
  from lusid.models.side_configuration_data_request import SideConfigurationDataRequest
840
854
  from lusid.models.side_definition import SideDefinition
@@ -928,6 +942,7 @@ from lusid.models.trial_balance_query_parameters import TrialBalanceQueryParamet
928
942
  from lusid.models.trigger_event import TriggerEvent
929
943
  from lusid.models.typed_resource_id import TypedResourceId
930
944
  from lusid.models.unit_schema import UnitSchema
945
+ from lusid.models.unitisation_data import UnitisationData
931
946
  from lusid.models.units_ratio import UnitsRatio
932
947
  from lusid.models.unmatched_holding_method import UnmatchedHoldingMethod
933
948
  from lusid.models.update_amortisation_rule_set_details_request import UpdateAmortisationRuleSetDetailsRequest
@@ -1122,6 +1137,7 @@ __all__ = [
1122
1137
  "CancelledPlacementResult",
1123
1138
  "CapFloor",
1124
1139
  "CapitalDistributionEvent",
1140
+ "Cash",
1125
1141
  "CashAndSecurityOfferElection",
1126
1142
  "CashDependency",
1127
1143
  "CashDividendEvent",
@@ -1173,6 +1189,7 @@ __all__ = [
1173
1189
  "ComplianceRuleTemplate",
1174
1190
  "ComplianceRuleUpsertRequest",
1175
1191
  "ComplianceRuleUpsertResponse",
1192
+ "ComplianceRunConfiguration",
1176
1193
  "ComplianceRunInfo",
1177
1194
  "ComplianceRunInfoV2",
1178
1195
  "ComplianceStep",
@@ -1186,6 +1203,7 @@ __all__ = [
1186
1203
  "ComplianceTemplateVariation",
1187
1204
  "ComplianceTemplateVariationDto",
1188
1205
  "ComplianceTemplateVariationRequest",
1206
+ "ComponentFilter",
1189
1207
  "ComponentRule",
1190
1208
  "ComponentTransaction",
1191
1209
  "CompositeBreakdown",
@@ -1353,12 +1371,15 @@ __all__ = [
1353
1371
  "ForwardRateAgreement",
1354
1372
  "FromRecipe",
1355
1373
  "Fund",
1374
+ "FundAmount",
1356
1375
  "FundConfiguration",
1357
1376
  "FundConfigurationProperties",
1358
1377
  "FundConfigurationRequest",
1378
+ "FundPreviousNAV",
1359
1379
  "FundProperties",
1360
1380
  "FundRequest",
1361
1381
  "FundShareClass",
1382
+ "FundValuationPointData",
1362
1383
  "FundingLeg",
1363
1384
  "FundingLegOptions",
1364
1385
  "Future",
@@ -1666,7 +1687,11 @@ __all__ = [
1666
1687
  "PostingModuleResponse",
1667
1688
  "PostingModuleRule",
1668
1689
  "PostingModuleRulesUpdatedResponse",
1690
+ "PreTradeConfiguration",
1669
1691
  "Premium",
1692
+ "PreviousFundValuationPointData",
1693
+ "PreviousNAV",
1694
+ "PreviousShareClassBreakdown",
1670
1695
  "PricingContext",
1671
1696
  "PricingModel",
1672
1697
  "PricingOptions",
@@ -1847,6 +1872,10 @@ __all__ = [
1847
1872
  "SetTransactionConfigurationAlias",
1848
1873
  "SetTransactionConfigurationSourceRequest",
1849
1874
  "SettlementSchedule",
1875
+ "ShareClassAmount",
1876
+ "ShareClassBreakdown",
1877
+ "ShareClassData",
1878
+ "ShareClassDetails",
1850
1879
  "SideConfigurationData",
1851
1880
  "SideConfigurationDataRequest",
1852
1881
  "SideDefinition",
@@ -1940,6 +1969,7 @@ __all__ = [
1940
1969
  "TriggerEvent",
1941
1970
  "TypedResourceId",
1942
1971
  "UnitSchema",
1972
+ "UnitisationData",
1943
1973
  "UnitsRatio",
1944
1974
  "UnmatchedHoldingMethod",
1945
1975
  "UpdateAmortisationRuleSetDetailsRequest",
lusid/models/cash.py ADDED
@@ -0,0 +1,93 @@
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, Union
22
+ from pydantic.v1 import Field, StrictFloat, StrictInt, StrictStr, validator
23
+ from lusid.models.lusid_instrument import LusidInstrument
24
+
25
+ class Cash(LusidInstrument):
26
+ """
27
+ LUSID representation of Cash which is the sum of one or more cashflows from the past. # noqa: E501
28
+ """
29
+ dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
30
+ amount: Union[StrictFloat, StrictInt] = Field(..., description="Cash amount.")
31
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
32
+ additional_properties: Dict[str, Any] = {}
33
+ __properties = ["instrumentType", "domCcy", "amount"]
34
+
35
+ @validator('instrument_type')
36
+ def instrument_type_validate_enum(cls, value):
37
+ """Validates the enum"""
38
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
39
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
40
+ return value
41
+
42
+ class Config:
43
+ """Pydantic configuration"""
44
+ allow_population_by_field_name = True
45
+ validate_assignment = True
46
+
47
+ def to_str(self) -> str:
48
+ """Returns the string representation of the model using alias"""
49
+ return pprint.pformat(self.dict(by_alias=True))
50
+
51
+ def to_json(self) -> str:
52
+ """Returns the JSON representation of the model using alias"""
53
+ return json.dumps(self.to_dict())
54
+
55
+ @classmethod
56
+ def from_json(cls, json_str: str) -> Cash:
57
+ """Create an instance of Cash from a JSON string"""
58
+ return cls.from_dict(json.loads(json_str))
59
+
60
+ def to_dict(self):
61
+ """Returns the dictionary representation of the model using alias"""
62
+ _dict = self.dict(by_alias=True,
63
+ exclude={
64
+ "additional_properties"
65
+ },
66
+ exclude_none=True)
67
+ # puts key-value pairs in additional_properties in the top level
68
+ if self.additional_properties is not None:
69
+ for _key, _value in self.additional_properties.items():
70
+ _dict[_key] = _value
71
+
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: dict) -> Cash:
76
+ """Create an instance of Cash from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return Cash.parse_obj(obj)
82
+
83
+ _obj = Cash.parse_obj({
84
+ "instrument_type": obj.get("instrumentType"),
85
+ "dom_ccy": obj.get("domCcy"),
86
+ "amount": obj.get("amount")
87
+ })
88
+ # store additional fields in additional_properties
89
+ for _key in obj.keys():
90
+ if _key not in cls.__properties:
91
+ _obj.additional_properties[_key] = obj.get(_key)
92
+
93
+ return _obj