lusid-sdk 2.1.110__py3-none-any.whl → 2.1.131__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.
- lusid/__init__.py +40 -0
- lusid/api/__init__.py +2 -0
- lusid/api/amortisation_rule_sets_api.py +175 -0
- lusid/api/compliance_api.py +502 -0
- lusid/api/fee_types_api.py +909 -0
- lusid/api/instrument_events_api.py +189 -0
- lusid/api/portfolio_groups_api.py +16 -8
- lusid/api/portfolios_api.py +212 -0
- lusid/api/transaction_portfolios_api.py +32 -16
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +38 -0
- lusid/models/amortisation_rule_set.py +7 -11
- lusid/models/applicable_instrument_event.py +106 -0
- lusid/models/compliance_rule_template.py +153 -0
- lusid/models/compliance_step_request.py +76 -0
- lusid/models/compliance_step_type_request.py +42 -0
- lusid/models/compliance_template_variation_dto.py +112 -0
- lusid/models/compliance_template_variation_request.py +112 -0
- lusid/models/create_compliance_template_request.py +95 -0
- lusid/models/create_derived_property_definition_request.py +3 -3
- lusid/models/create_property_definition_request.py +3 -3
- lusid/models/diary_entry_request.py +1 -1
- lusid/models/fee_accrual.py +83 -0
- lusid/models/fee_type.py +115 -0
- lusid/models/fee_type_request.py +105 -0
- lusid/models/flow_conventions.py +1 -1
- lusid/models/operation.py +2 -2
- lusid/models/paged_resource_list_of_fee_type.py +113 -0
- lusid/models/paged_resource_list_of_instrument_event_instruction.py +113 -0
- lusid/models/portfolio_entity_id.py +2 -18
- lusid/models/portfolio_holding.py +19 -4
- lusid/models/property_definition.py +3 -3
- lusid/models/property_definition_search_result.py +3 -3
- lusid/models/property_domain.py +1 -0
- lusid/models/query_applicable_instrument_events_request.py +89 -0
- lusid/models/quote_access_metadata_rule_id.py +1 -1
- lusid/models/quote_series_id.py +1 -1
- lusid/models/resource_list_of_applicable_instrument_event.py +113 -0
- lusid/models/rules_interval.py +83 -0
- lusid/models/set_amortisation_rules_request.py +73 -0
- lusid/models/settlement_schedule.py +78 -0
- lusid/models/update_compliance_template_request.py +95 -0
- lusid/models/update_fee_type_request.py +96 -0
- lusid/models/valuation_point_data_response.py +15 -2
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/METADATA +34 -4
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/RECORD +47 -27
- {lusid_sdk-2.1.110.dist-info → lusid_sdk-2.1.131.dist-info}/WHEEL +0 -0
|
@@ -20,15 +20,19 @@ from pydantic.v1 import validate_arguments, ValidationError
|
|
|
20
20
|
from typing import overload, Optional, Union, Awaitable
|
|
21
21
|
|
|
22
22
|
from typing_extensions import Annotated
|
|
23
|
+
from datetime import datetime
|
|
24
|
+
|
|
23
25
|
from pydantic.v1 import Field, StrictInt, constr, validator
|
|
24
26
|
|
|
25
27
|
from typing import Optional
|
|
26
28
|
|
|
27
29
|
from lusid.models.bucketed_cash_flow_response import BucketedCashFlowResponse
|
|
30
|
+
from lusid.models.query_applicable_instrument_events_request import QueryApplicableInstrumentEventsRequest
|
|
28
31
|
from lusid.models.query_bucketed_cash_flows_request import QueryBucketedCashFlowsRequest
|
|
29
32
|
from lusid.models.query_cash_flows_request import QueryCashFlowsRequest
|
|
30
33
|
from lusid.models.query_instrument_events_request import QueryInstrumentEventsRequest
|
|
31
34
|
from lusid.models.query_trade_tickets_request import QueryTradeTicketsRequest
|
|
35
|
+
from lusid.models.resource_list_of_applicable_instrument_event import ResourceListOfApplicableInstrumentEvent
|
|
32
36
|
from lusid.models.resource_list_of_instrument_cash_flow import ResourceListOfInstrumentCashFlow
|
|
33
37
|
from lusid.models.resource_list_of_instrument_event_holder import ResourceListOfInstrumentEventHolder
|
|
34
38
|
from lusid.models.resource_list_of_portfolio_trade_ticket import ResourceListOfPortfolioTradeTicket
|
|
@@ -53,6 +57,191 @@ class InstrumentEventsApi:
|
|
|
53
57
|
api_client = ApiClient.get_default()
|
|
54
58
|
self.api_client = api_client
|
|
55
59
|
|
|
60
|
+
@overload
|
|
61
|
+
async def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, **kwargs) -> ResourceListOfApplicableInstrumentEvent: # noqa: E501
|
|
62
|
+
...
|
|
63
|
+
|
|
64
|
+
@overload
|
|
65
|
+
def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfApplicableInstrumentEvent: # noqa: E501
|
|
66
|
+
...
|
|
67
|
+
|
|
68
|
+
@validate_arguments
|
|
69
|
+
def query_applicable_instrument_events(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfApplicableInstrumentEvent, Awaitable[ResourceListOfApplicableInstrumentEvent]]: # noqa: E501
|
|
70
|
+
"""[EXPERIMENTAL] QueryApplicableInstrumentEvents: Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
|
|
71
|
+
|
|
72
|
+
Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
|
|
73
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
74
|
+
asynchronous HTTP request, please pass async_req=True
|
|
75
|
+
|
|
76
|
+
>>> thread = api.query_applicable_instrument_events(as_at, limit, page, query_applicable_instrument_events_request, async_req=True)
|
|
77
|
+
>>> result = thread.get()
|
|
78
|
+
|
|
79
|
+
:param as_at: The as at time to use.
|
|
80
|
+
:type as_at: datetime
|
|
81
|
+
:param limit: Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.
|
|
82
|
+
:type limit: int
|
|
83
|
+
:param page: Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this
|
|
84
|
+
:type page: str
|
|
85
|
+
:param query_applicable_instrument_events_request: The filter parameters used to retrieve applicable instrument events.
|
|
86
|
+
:type query_applicable_instrument_events_request: QueryApplicableInstrumentEventsRequest
|
|
87
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
88
|
+
:type async_req: bool, optional
|
|
89
|
+
:param _request_timeout: timeout setting for this request.
|
|
90
|
+
If one number provided, it will be total request
|
|
91
|
+
timeout. It can also be a pair (tuple) of
|
|
92
|
+
(connection, read) timeouts.
|
|
93
|
+
:return: Returns the result object.
|
|
94
|
+
If the method is called asynchronously,
|
|
95
|
+
returns the request thread.
|
|
96
|
+
:rtype: ResourceListOfApplicableInstrumentEvent
|
|
97
|
+
"""
|
|
98
|
+
kwargs['_return_http_data_only'] = True
|
|
99
|
+
if '_preload_content' in kwargs:
|
|
100
|
+
message = "Error! Please call the query_applicable_instrument_events_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
101
|
+
raise ValueError(message)
|
|
102
|
+
if async_req is not None:
|
|
103
|
+
kwargs['async_req'] = async_req
|
|
104
|
+
return self.query_applicable_instrument_events_with_http_info(as_at, limit, page, query_applicable_instrument_events_request, **kwargs) # noqa: E501
|
|
105
|
+
|
|
106
|
+
@validate_arguments
|
|
107
|
+
def query_applicable_instrument_events_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The as at time to use.")] = None, limit : Annotated[Optional[StrictInt], Field(description="Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this")] = None, query_applicable_instrument_events_request : Annotated[Optional[QueryApplicableInstrumentEventsRequest], Field(description="The filter parameters used to retrieve applicable instrument events.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
108
|
+
"""[EXPERIMENTAL] QueryApplicableInstrumentEvents: Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
|
|
109
|
+
|
|
110
|
+
Returns a list of applicable instrument events based on the holdings of the portfolios and date range specified in the query. # noqa: E501
|
|
111
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
112
|
+
asynchronous HTTP request, please pass async_req=True
|
|
113
|
+
|
|
114
|
+
>>> thread = api.query_applicable_instrument_events_with_http_info(as_at, limit, page, query_applicable_instrument_events_request, async_req=True)
|
|
115
|
+
>>> result = thread.get()
|
|
116
|
+
|
|
117
|
+
:param as_at: The as at time to use.
|
|
118
|
+
:type as_at: datetime
|
|
119
|
+
:param limit: Optional. When paginating, limit the number of returned results to this many. If not specified, a default of 100 is used.
|
|
120
|
+
:type limit: int
|
|
121
|
+
:param page: Optional. The pagination token to use to continue listing items from a previous call. Page values are return from list calls, and must be supplied exactly as returned. Additionally, when specifying this
|
|
122
|
+
:type page: str
|
|
123
|
+
:param query_applicable_instrument_events_request: The filter parameters used to retrieve applicable instrument events.
|
|
124
|
+
:type query_applicable_instrument_events_request: QueryApplicableInstrumentEventsRequest
|
|
125
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
126
|
+
:type async_req: bool, optional
|
|
127
|
+
:param _preload_content: if False, the ApiResponse.data will
|
|
128
|
+
be set to none and raw_data will store the
|
|
129
|
+
HTTP response body without reading/decoding.
|
|
130
|
+
Default is True.
|
|
131
|
+
:type _preload_content: bool, optional
|
|
132
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
|
133
|
+
object with status code, headers, etc
|
|
134
|
+
:type _return_http_data_only: bool, optional
|
|
135
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
136
|
+
number provided, it will be total request
|
|
137
|
+
timeout. It can also be a pair (tuple) of
|
|
138
|
+
(connection, read) timeouts.
|
|
139
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
140
|
+
request; this effectively ignores the authentication
|
|
141
|
+
in the spec for a single request.
|
|
142
|
+
:type _request_auth: dict, optional
|
|
143
|
+
:type _content_type: string, optional: force content-type for the request
|
|
144
|
+
:return: Returns the result object.
|
|
145
|
+
If the method is called asynchronously,
|
|
146
|
+
returns the request thread.
|
|
147
|
+
:rtype: tuple(ResourceListOfApplicableInstrumentEvent, status_code(int), headers(HTTPHeaderDict))
|
|
148
|
+
"""
|
|
149
|
+
|
|
150
|
+
_params = locals()
|
|
151
|
+
|
|
152
|
+
_all_params = [
|
|
153
|
+
'as_at',
|
|
154
|
+
'limit',
|
|
155
|
+
'page',
|
|
156
|
+
'query_applicable_instrument_events_request'
|
|
157
|
+
]
|
|
158
|
+
_all_params.extend(
|
|
159
|
+
[
|
|
160
|
+
'async_req',
|
|
161
|
+
'_return_http_data_only',
|
|
162
|
+
'_preload_content',
|
|
163
|
+
'_request_timeout',
|
|
164
|
+
'_request_auth',
|
|
165
|
+
'_content_type',
|
|
166
|
+
'_headers'
|
|
167
|
+
]
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
# validate the arguments
|
|
171
|
+
for _key, _val in _params['kwargs'].items():
|
|
172
|
+
if _key not in _all_params:
|
|
173
|
+
raise ApiTypeError(
|
|
174
|
+
"Got an unexpected keyword argument '%s'"
|
|
175
|
+
" to method query_applicable_instrument_events" % _key
|
|
176
|
+
)
|
|
177
|
+
_params[_key] = _val
|
|
178
|
+
del _params['kwargs']
|
|
179
|
+
|
|
180
|
+
_collection_formats = {}
|
|
181
|
+
|
|
182
|
+
# process the path parameters
|
|
183
|
+
_path_params = {}
|
|
184
|
+
|
|
185
|
+
# process the query parameters
|
|
186
|
+
_query_params = []
|
|
187
|
+
if _params.get('as_at') is not None: # noqa: E501
|
|
188
|
+
if isinstance(_params['as_at'], datetime):
|
|
189
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
|
190
|
+
else:
|
|
191
|
+
_query_params.append(('asAt', _params['as_at']))
|
|
192
|
+
|
|
193
|
+
if _params.get('limit') is not None: # noqa: E501
|
|
194
|
+
_query_params.append(('limit', _params['limit']))
|
|
195
|
+
|
|
196
|
+
if _params.get('page') is not None: # noqa: E501
|
|
197
|
+
_query_params.append(('page', _params['page']))
|
|
198
|
+
|
|
199
|
+
# process the header parameters
|
|
200
|
+
_header_params = dict(_params.get('_headers', {}))
|
|
201
|
+
# process the form parameters
|
|
202
|
+
_form_params = []
|
|
203
|
+
_files = {}
|
|
204
|
+
# process the body parameter
|
|
205
|
+
_body_params = None
|
|
206
|
+
if _params['query_applicable_instrument_events_request'] is not None:
|
|
207
|
+
_body_params = _params['query_applicable_instrument_events_request']
|
|
208
|
+
|
|
209
|
+
# set the HTTP header `Accept`
|
|
210
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
211
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
|
212
|
+
|
|
213
|
+
# set the HTTP header `Content-Type`
|
|
214
|
+
_content_types_list = _params.get('_content_type',
|
|
215
|
+
self.api_client.select_header_content_type(
|
|
216
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
|
217
|
+
if _content_types_list:
|
|
218
|
+
_header_params['Content-Type'] = _content_types_list
|
|
219
|
+
|
|
220
|
+
# authentication setting
|
|
221
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
|
222
|
+
|
|
223
|
+
_response_types_map = {
|
|
224
|
+
'200': "ResourceListOfApplicableInstrumentEvent",
|
|
225
|
+
'400': "LusidValidationProblemDetails",
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return self.api_client.call_api(
|
|
229
|
+
'/api/instrumentevents/$queryApplicableInstrumentEvents', 'POST',
|
|
230
|
+
_path_params,
|
|
231
|
+
_query_params,
|
|
232
|
+
_header_params,
|
|
233
|
+
body=_body_params,
|
|
234
|
+
post_params=_form_params,
|
|
235
|
+
files=_files,
|
|
236
|
+
response_types_map=_response_types_map,
|
|
237
|
+
auth_settings=_auth_settings,
|
|
238
|
+
async_req=_params.get('async_req'),
|
|
239
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
|
240
|
+
_preload_content=_params.get('_preload_content', True),
|
|
241
|
+
_request_timeout=_params.get('_request_timeout'),
|
|
242
|
+
collection_formats=_collection_formats,
|
|
243
|
+
_request_auth=_params.get('_request_auth'))
|
|
244
|
+
|
|
56
245
|
@overload
|
|
57
246
|
async def query_bucketed_cash_flows(self, query_bucketed_cash_flows_request : Annotated[Optional[QueryBucketedCashFlowsRequest], Field(description="The Query Information.")] = None, **kwargs) -> BucketedCashFlowResponse: # noqa: E501
|
|
58
247
|
...
|
|
@@ -2108,22 +2108,22 @@ class PortfolioGroupsApi:
|
|
|
2108
2108
|
_request_auth=_params.get('_request_auth'))
|
|
2109
2109
|
|
|
2110
2110
|
@overload
|
|
2111
|
-
async def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
2111
|
+
async def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
2112
2112
|
...
|
|
2113
2113
|
|
|
2114
2114
|
@overload
|
|
2115
|
-
def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
2115
|
+
def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=True, **kwargs) -> VersionedResourceListOfPortfolioHolding: # noqa: E501
|
|
2116
2116
|
...
|
|
2117
2117
|
|
|
2118
2118
|
@validate_arguments
|
|
2119
|
-
def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
|
|
2119
|
+
def get_holdings_for_portfolio_group(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[VersionedResourceListOfPortfolioHolding, Awaitable[VersionedResourceListOfPortfolioHolding]]: # noqa: E501
|
|
2120
2120
|
"""GetHoldingsForPortfolioGroup: Get holdings for transaction portfolios in portfolio group # noqa: E501
|
|
2121
2121
|
|
|
2122
2122
|
Get the holdings of transaction portfolios in specified portfolio group. # noqa: E501
|
|
2123
2123
|
This method makes a synchronous HTTP request by default. To make an
|
|
2124
2124
|
asynchronous HTTP request, please pass async_req=True
|
|
2125
2125
|
|
|
2126
|
-
>>> thread = api.get_holdings_for_portfolio_group(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
|
|
2126
|
+
>>> thread = api.get_holdings_for_portfolio_group(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
|
|
2127
2127
|
>>> result = thread.get()
|
|
2128
2128
|
|
|
2129
2129
|
:param scope: The scope of the portfolio group. (required)
|
|
@@ -2140,6 +2140,8 @@ class PortfolioGroupsApi:
|
|
|
2140
2140
|
:type property_keys: List[str]
|
|
2141
2141
|
:param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
|
|
2142
2142
|
:type by_taxlots: bool
|
|
2143
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
2144
|
+
:type include_settlement_events_after_days: int
|
|
2143
2145
|
:param async_req: Whether to execute the request asynchronously.
|
|
2144
2146
|
:type async_req: bool, optional
|
|
2145
2147
|
:param _request_timeout: timeout setting for this request.
|
|
@@ -2157,17 +2159,17 @@ class PortfolioGroupsApi:
|
|
|
2157
2159
|
raise ValueError(message)
|
|
2158
2160
|
if async_req is not None:
|
|
2159
2161
|
kwargs['async_req'] = async_req
|
|
2160
|
-
return self.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, **kwargs) # noqa: E501
|
|
2162
|
+
return self.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, **kwargs) # noqa: E501
|
|
2161
2163
|
|
|
2162
2164
|
@validate_arguments
|
|
2163
|
-
def get_holdings_for_portfolio_group_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
2165
|
+
def get_holdings_for_portfolio_group_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio group.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio group. Together with the scope this uniquely identifies the portfolio group.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the holdings of transaction portfolios in the portfolio group. Defaults to return the latest version of the holdings if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the \"Instrument\", \"Holding\" or \"Portfolio\" domain to decorate onto the holdings. These take the format {domain}/{scope}/{code} e.g. \"Instrument/system/Name\" or \"Holding/system/Cost\".")] = None, by_taxlots : Annotated[Optional[StrictBool], Field(description="Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.")] = None, include_settlement_events_after_days : Annotated[Optional[StrictInt], Field(description="Number of days ahead to bring back settlements from, in relation to the specified effectiveAt")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
2164
2166
|
"""GetHoldingsForPortfolioGroup: Get holdings for transaction portfolios in portfolio group # noqa: E501
|
|
2165
2167
|
|
|
2166
2168
|
Get the holdings of transaction portfolios in specified portfolio group. # noqa: E501
|
|
2167
2169
|
This method makes a synchronous HTTP request by default. To make an
|
|
2168
2170
|
asynchronous HTTP request, please pass async_req=True
|
|
2169
2171
|
|
|
2170
|
-
>>> thread = api.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, async_req=True)
|
|
2172
|
+
>>> thread = api.get_holdings_for_portfolio_group_with_http_info(scope, code, effective_at, as_at, filter, property_keys, by_taxlots, include_settlement_events_after_days, async_req=True)
|
|
2171
2173
|
>>> result = thread.get()
|
|
2172
2174
|
|
|
2173
2175
|
:param scope: The scope of the portfolio group. (required)
|
|
@@ -2184,6 +2186,8 @@ class PortfolioGroupsApi:
|
|
|
2184
2186
|
:type property_keys: List[str]
|
|
2185
2187
|
:param by_taxlots: Whether or not to expand the holdings to return the underlying tax-lots. Defaults to False.
|
|
2186
2188
|
:type by_taxlots: bool
|
|
2189
|
+
:param include_settlement_events_after_days: Number of days ahead to bring back settlements from, in relation to the specified effectiveAt
|
|
2190
|
+
:type include_settlement_events_after_days: int
|
|
2187
2191
|
:param async_req: Whether to execute the request asynchronously.
|
|
2188
2192
|
:type async_req: bool, optional
|
|
2189
2193
|
:param _preload_content: if False, the ApiResponse.data will
|
|
@@ -2218,7 +2222,8 @@ class PortfolioGroupsApi:
|
|
|
2218
2222
|
'as_at',
|
|
2219
2223
|
'filter',
|
|
2220
2224
|
'property_keys',
|
|
2221
|
-
'by_taxlots'
|
|
2225
|
+
'by_taxlots',
|
|
2226
|
+
'include_settlement_events_after_days'
|
|
2222
2227
|
]
|
|
2223
2228
|
_all_params.extend(
|
|
2224
2229
|
[
|
|
@@ -2274,6 +2279,9 @@ class PortfolioGroupsApi:
|
|
|
2274
2279
|
if _params.get('by_taxlots') is not None: # noqa: E501
|
|
2275
2280
|
_query_params.append(('byTaxlots', _params['by_taxlots']))
|
|
2276
2281
|
|
|
2282
|
+
if _params.get('include_settlement_events_after_days') is not None: # noqa: E501
|
|
2283
|
+
_query_params.append(('includeSettlementEventsAfterDays', _params['include_settlement_events_after_days']))
|
|
2284
|
+
|
|
2277
2285
|
# process the header parameters
|
|
2278
2286
|
_header_params = dict(_params.get('_headers', {}))
|
|
2279
2287
|
# process the form parameters
|
lusid/api/portfolios_api.py
CHANGED
|
@@ -40,6 +40,7 @@ from lusid.models.instrument_event_instruction_request import InstrumentEventIns
|
|
|
40
40
|
from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
|
|
41
41
|
from lusid.models.model_property import ModelProperty
|
|
42
42
|
from lusid.models.operation import Operation
|
|
43
|
+
from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
|
|
43
44
|
from lusid.models.performance_return import PerformanceReturn
|
|
44
45
|
from lusid.models.portfolio import Portfolio
|
|
45
46
|
from lusid.models.portfolio_properties import PortfolioProperties
|
|
@@ -3756,6 +3757,217 @@ class PortfoliosApi:
|
|
|
3756
3757
|
collection_formats=_collection_formats,
|
|
3757
3758
|
_request_auth=_params.get('_request_auth'))
|
|
3758
3759
|
|
|
3760
|
+
@overload
|
|
3761
|
+
async def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfInstrumentEventInstruction: # noqa: E501
|
|
3762
|
+
...
|
|
3763
|
+
|
|
3764
|
+
@overload
|
|
3765
|
+
def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfInstrumentEventInstruction: # noqa: E501
|
|
3766
|
+
...
|
|
3767
|
+
|
|
3768
|
+
@validate_arguments
|
|
3769
|
+
def list_instrument_event_instructions(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfInstrumentEventInstruction, Awaitable[PagedResourceListOfInstrumentEventInstruction]]: # noqa: E501
|
|
3770
|
+
"""[EARLY ACCESS] ListInstrumentEventInstructions: List Instrument Event Instructions # noqa: E501
|
|
3771
|
+
|
|
3772
|
+
Lists all instructions for a particular portfolio # noqa: E501
|
|
3773
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
3774
|
+
asynchronous HTTP request, please pass async_req=True
|
|
3775
|
+
|
|
3776
|
+
>>> thread = api.list_instrument_event_instructions(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, async_req=True)
|
|
3777
|
+
>>> result = thread.get()
|
|
3778
|
+
|
|
3779
|
+
:param scope: The scope of the portfolio. (required)
|
|
3780
|
+
:type scope: str
|
|
3781
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
3782
|
+
:type code: str
|
|
3783
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
3784
|
+
:type portfolio_effective_at: str
|
|
3785
|
+
:param as_at: The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.
|
|
3786
|
+
:type as_at: datetime
|
|
3787
|
+
:param page: The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
|
|
3788
|
+
:type page: str
|
|
3789
|
+
:param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
|
|
3790
|
+
:type limit: int
|
|
3791
|
+
:param filter: Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
|
|
3792
|
+
:type filter: str
|
|
3793
|
+
:param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
|
|
3794
|
+
:type sort_by: List[str]
|
|
3795
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
3796
|
+
:type async_req: bool, optional
|
|
3797
|
+
:param _request_timeout: timeout setting for this request.
|
|
3798
|
+
If one number provided, it will be total request
|
|
3799
|
+
timeout. It can also be a pair (tuple) of
|
|
3800
|
+
(connection, read) timeouts.
|
|
3801
|
+
:return: Returns the result object.
|
|
3802
|
+
If the method is called asynchronously,
|
|
3803
|
+
returns the request thread.
|
|
3804
|
+
:rtype: PagedResourceListOfInstrumentEventInstruction
|
|
3805
|
+
"""
|
|
3806
|
+
kwargs['_return_http_data_only'] = True
|
|
3807
|
+
if '_preload_content' in kwargs:
|
|
3808
|
+
message = "Error! Please call the list_instrument_event_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
3809
|
+
raise ValueError(message)
|
|
3810
|
+
if async_req is not None:
|
|
3811
|
+
kwargs['async_req'] = async_req
|
|
3812
|
+
return self.list_instrument_event_instructions_with_http_info(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
|
|
3813
|
+
|
|
3814
|
+
@validate_arguments
|
|
3815
|
+
def list_instrument_event_instructions_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], portfolio_effective_at : Annotated[Optional[constr(strict=True, max_length=6000, min_length=0)], Field(description="The effective date at which the portfolio will be resolved. Defaults to current time if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results to this number. Defaults to 100 if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
3816
|
+
"""[EARLY ACCESS] ListInstrumentEventInstructions: List Instrument Event Instructions # noqa: E501
|
|
3817
|
+
|
|
3818
|
+
Lists all instructions for a particular portfolio # noqa: E501
|
|
3819
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
3820
|
+
asynchronous HTTP request, please pass async_req=True
|
|
3821
|
+
|
|
3822
|
+
>>> thread = api.list_instrument_event_instructions_with_http_info(scope, code, portfolio_effective_at, as_at, page, limit, filter, sort_by, async_req=True)
|
|
3823
|
+
>>> result = thread.get()
|
|
3824
|
+
|
|
3825
|
+
:param scope: The scope of the portfolio. (required)
|
|
3826
|
+
:type scope: str
|
|
3827
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
3828
|
+
:type code: str
|
|
3829
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
3830
|
+
:type portfolio_effective_at: str
|
|
3831
|
+
:param as_at: The asAt datetime at which to retrieve the instructions. Defaults to latest if not specified.
|
|
3832
|
+
:type as_at: datetime
|
|
3833
|
+
:param page: The pagination token to use to continue listing instructions; this value is returned from the previous call. If a pagination token is provided, the filter, effectiveAt and asAt fields must not have changed since the original request.
|
|
3834
|
+
:type page: str
|
|
3835
|
+
:param limit: When paginating, limit the results to this number. Defaults to 100 if not specified.
|
|
3836
|
+
:type limit: int
|
|
3837
|
+
:param filter: Expression to filter the results. For more information about filtering results, see https://support.lusid.com/knowledgebase/article/KA-01914.
|
|
3838
|
+
:type filter: str
|
|
3839
|
+
:param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
|
|
3840
|
+
:type sort_by: List[str]
|
|
3841
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
3842
|
+
:type async_req: bool, optional
|
|
3843
|
+
:param _preload_content: if False, the ApiResponse.data will
|
|
3844
|
+
be set to none and raw_data will store the
|
|
3845
|
+
HTTP response body without reading/decoding.
|
|
3846
|
+
Default is True.
|
|
3847
|
+
:type _preload_content: bool, optional
|
|
3848
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
|
3849
|
+
object with status code, headers, etc
|
|
3850
|
+
:type _return_http_data_only: bool, optional
|
|
3851
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
3852
|
+
number provided, it will be total request
|
|
3853
|
+
timeout. It can also be a pair (tuple) of
|
|
3854
|
+
(connection, read) timeouts.
|
|
3855
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
3856
|
+
request; this effectively ignores the authentication
|
|
3857
|
+
in the spec for a single request.
|
|
3858
|
+
:type _request_auth: dict, optional
|
|
3859
|
+
:type _content_type: string, optional: force content-type for the request
|
|
3860
|
+
:return: Returns the result object.
|
|
3861
|
+
If the method is called asynchronously,
|
|
3862
|
+
returns the request thread.
|
|
3863
|
+
:rtype: tuple(PagedResourceListOfInstrumentEventInstruction, status_code(int), headers(HTTPHeaderDict))
|
|
3864
|
+
"""
|
|
3865
|
+
|
|
3866
|
+
_params = locals()
|
|
3867
|
+
|
|
3868
|
+
_all_params = [
|
|
3869
|
+
'scope',
|
|
3870
|
+
'code',
|
|
3871
|
+
'portfolio_effective_at',
|
|
3872
|
+
'as_at',
|
|
3873
|
+
'page',
|
|
3874
|
+
'limit',
|
|
3875
|
+
'filter',
|
|
3876
|
+
'sort_by'
|
|
3877
|
+
]
|
|
3878
|
+
_all_params.extend(
|
|
3879
|
+
[
|
|
3880
|
+
'async_req',
|
|
3881
|
+
'_return_http_data_only',
|
|
3882
|
+
'_preload_content',
|
|
3883
|
+
'_request_timeout',
|
|
3884
|
+
'_request_auth',
|
|
3885
|
+
'_content_type',
|
|
3886
|
+
'_headers'
|
|
3887
|
+
]
|
|
3888
|
+
)
|
|
3889
|
+
|
|
3890
|
+
# validate the arguments
|
|
3891
|
+
for _key, _val in _params['kwargs'].items():
|
|
3892
|
+
if _key not in _all_params:
|
|
3893
|
+
raise ApiTypeError(
|
|
3894
|
+
"Got an unexpected keyword argument '%s'"
|
|
3895
|
+
" to method list_instrument_event_instructions" % _key
|
|
3896
|
+
)
|
|
3897
|
+
_params[_key] = _val
|
|
3898
|
+
del _params['kwargs']
|
|
3899
|
+
|
|
3900
|
+
_collection_formats = {}
|
|
3901
|
+
|
|
3902
|
+
# process the path parameters
|
|
3903
|
+
_path_params = {}
|
|
3904
|
+
if _params['scope']:
|
|
3905
|
+
_path_params['scope'] = _params['scope']
|
|
3906
|
+
|
|
3907
|
+
if _params['code']:
|
|
3908
|
+
_path_params['code'] = _params['code']
|
|
3909
|
+
|
|
3910
|
+
|
|
3911
|
+
# process the query parameters
|
|
3912
|
+
_query_params = []
|
|
3913
|
+
if _params.get('portfolio_effective_at') is not None: # noqa: E501
|
|
3914
|
+
_query_params.append(('portfolioEffectiveAt', _params['portfolio_effective_at']))
|
|
3915
|
+
|
|
3916
|
+
if _params.get('as_at') is not None: # noqa: E501
|
|
3917
|
+
if isinstance(_params['as_at'], datetime):
|
|
3918
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
|
3919
|
+
else:
|
|
3920
|
+
_query_params.append(('asAt', _params['as_at']))
|
|
3921
|
+
|
|
3922
|
+
if _params.get('page') is not None: # noqa: E501
|
|
3923
|
+
_query_params.append(('page', _params['page']))
|
|
3924
|
+
|
|
3925
|
+
if _params.get('limit') is not None: # noqa: E501
|
|
3926
|
+
_query_params.append(('limit', _params['limit']))
|
|
3927
|
+
|
|
3928
|
+
if _params.get('filter') is not None: # noqa: E501
|
|
3929
|
+
_query_params.append(('filter', _params['filter']))
|
|
3930
|
+
|
|
3931
|
+
if _params.get('sort_by') is not None: # noqa: E501
|
|
3932
|
+
_query_params.append(('sortBy', _params['sort_by']))
|
|
3933
|
+
_collection_formats['sortBy'] = 'multi'
|
|
3934
|
+
|
|
3935
|
+
# process the header parameters
|
|
3936
|
+
_header_params = dict(_params.get('_headers', {}))
|
|
3937
|
+
# process the form parameters
|
|
3938
|
+
_form_params = []
|
|
3939
|
+
_files = {}
|
|
3940
|
+
# process the body parameter
|
|
3941
|
+
_body_params = None
|
|
3942
|
+
# set the HTTP header `Accept`
|
|
3943
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
3944
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
|
3945
|
+
|
|
3946
|
+
# authentication setting
|
|
3947
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
|
3948
|
+
|
|
3949
|
+
_response_types_map = {
|
|
3950
|
+
'200': "PagedResourceListOfInstrumentEventInstruction",
|
|
3951
|
+
'400': "LusidValidationProblemDetails",
|
|
3952
|
+
}
|
|
3953
|
+
|
|
3954
|
+
return self.api_client.call_api(
|
|
3955
|
+
'/api/portfolios/{scope}/{code}/instrumenteventinstructions', 'GET',
|
|
3956
|
+
_path_params,
|
|
3957
|
+
_query_params,
|
|
3958
|
+
_header_params,
|
|
3959
|
+
body=_body_params,
|
|
3960
|
+
post_params=_form_params,
|
|
3961
|
+
files=_files,
|
|
3962
|
+
response_types_map=_response_types_map,
|
|
3963
|
+
auth_settings=_auth_settings,
|
|
3964
|
+
async_req=_params.get('async_req'),
|
|
3965
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
|
3966
|
+
_preload_content=_params.get('_preload_content', True),
|
|
3967
|
+
_request_timeout=_params.get('_request_timeout'),
|
|
3968
|
+
collection_formats=_collection_formats,
|
|
3969
|
+
_request_auth=_params.get('_request_auth'))
|
|
3970
|
+
|
|
3759
3971
|
@overload
|
|
3760
3972
|
async def list_portfolio_properties(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the portfolio.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the portfolio. Together with the scope this uniquely identifies the portfolio.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the portfolio's properties. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the portfolio's properties. Defaults to returning the latest version of each property if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing commands; this value is returned from the previous call.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the results per page to this number.")] = None, **kwargs) -> ResourceListOfProperty: # noqa: E501
|
|
3761
3973
|
...
|