lusid-sdk 2.1.92__py3-none-any.whl → 2.1.95__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 +6 -0
- lusid/api/portfolios_api.py +554 -0
- lusid/api/staged_modifications_api.py +12 -12
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +6 -0
- lusid/models/instrument_event_instruction.py +121 -0
- lusid/models/instrument_event_instruction_request.py +87 -0
- lusid/models/instrument_event_instructions_response.py +107 -0
- lusid/models/version.py +0 -1
- {lusid_sdk-2.1.92.dist-info → lusid_sdk-2.1.95.dist-info}/METADATA +9 -3
- {lusid_sdk-2.1.92.dist-info → lusid_sdk-2.1.95.dist-info}/RECORD +12 -9
- {lusid_sdk-2.1.92.dist-info → lusid_sdk-2.1.95.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
|
@@ -473,6 +473,9 @@ from lusid.models.instrument_delete_modes import InstrumentDeleteModes
|
|
|
473
473
|
from lusid.models.instrument_event import InstrumentEvent
|
|
474
474
|
from lusid.models.instrument_event_configuration import InstrumentEventConfiguration
|
|
475
475
|
from lusid.models.instrument_event_holder import InstrumentEventHolder
|
|
476
|
+
from lusid.models.instrument_event_instruction import InstrumentEventInstruction
|
|
477
|
+
from lusid.models.instrument_event_instruction_request import InstrumentEventInstructionRequest
|
|
478
|
+
from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
|
|
476
479
|
from lusid.models.instrument_event_type import InstrumentEventType
|
|
477
480
|
from lusid.models.instrument_id_type_descriptor import InstrumentIdTypeDescriptor
|
|
478
481
|
from lusid.models.instrument_id_value import InstrumentIdValue
|
|
@@ -1502,6 +1505,9 @@ __all__ = [
|
|
|
1502
1505
|
"InstrumentEvent",
|
|
1503
1506
|
"InstrumentEventConfiguration",
|
|
1504
1507
|
"InstrumentEventHolder",
|
|
1508
|
+
"InstrumentEventInstruction",
|
|
1509
|
+
"InstrumentEventInstructionRequest",
|
|
1510
|
+
"InstrumentEventInstructionsResponse",
|
|
1505
1511
|
"InstrumentEventType",
|
|
1506
1512
|
"InstrumentIdTypeDescriptor",
|
|
1507
1513
|
"InstrumentIdValue",
|
lusid/api/portfolios_api.py
CHANGED
|
@@ -35,6 +35,9 @@ from lusid.models.composite_breakdown_request import CompositeBreakdownRequest
|
|
|
35
35
|
from lusid.models.composite_breakdown_response import CompositeBreakdownResponse
|
|
36
36
|
from lusid.models.composite_dispersion_response import CompositeDispersionResponse
|
|
37
37
|
from lusid.models.deleted_entity_response import DeletedEntityResponse
|
|
38
|
+
from lusid.models.instrument_event_instruction import InstrumentEventInstruction
|
|
39
|
+
from lusid.models.instrument_event_instruction_request import InstrumentEventInstructionRequest
|
|
40
|
+
from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
|
|
38
41
|
from lusid.models.model_property import ModelProperty
|
|
39
42
|
from lusid.models.operation import Operation
|
|
40
43
|
from lusid.models.performance_return import PerformanceReturn
|
|
@@ -73,6 +76,181 @@ class PortfoliosApi:
|
|
|
73
76
|
api_client = ApiClient.get_default()
|
|
74
77
|
self.api_client = api_client
|
|
75
78
|
|
|
79
|
+
@overload
|
|
80
|
+
async def delete_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be deleted.")], 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, **kwargs) -> DeletedEntityResponse: # noqa: E501
|
|
81
|
+
...
|
|
82
|
+
|
|
83
|
+
@overload
|
|
84
|
+
def delete_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be deleted.")], 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, async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
|
|
85
|
+
...
|
|
86
|
+
|
|
87
|
+
@validate_arguments
|
|
88
|
+
def delete_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be deleted.")], 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, async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
|
|
89
|
+
"""[EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction # noqa: E501
|
|
90
|
+
|
|
91
|
+
Delete a particular instruction for a particular portfolio # noqa: E501
|
|
92
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
93
|
+
asynchronous HTTP request, please pass async_req=True
|
|
94
|
+
|
|
95
|
+
>>> thread = api.delete_instrument_event_instruction(scope, code, instrument_event_instruction_id, portfolio_effective_at, async_req=True)
|
|
96
|
+
>>> result = thread.get()
|
|
97
|
+
|
|
98
|
+
:param scope: The scope of the portfolio. (required)
|
|
99
|
+
:type scope: str
|
|
100
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
101
|
+
:type code: str
|
|
102
|
+
:param instrument_event_instruction_id: The id of the instruction to be deleted. (required)
|
|
103
|
+
:type instrument_event_instruction_id: str
|
|
104
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
105
|
+
:type portfolio_effective_at: str
|
|
106
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
107
|
+
:type async_req: bool, optional
|
|
108
|
+
:param _request_timeout: timeout setting for this request.
|
|
109
|
+
If one number provided, it will be total request
|
|
110
|
+
timeout. It can also be a pair (tuple) of
|
|
111
|
+
(connection, read) timeouts.
|
|
112
|
+
:return: Returns the result object.
|
|
113
|
+
If the method is called asynchronously,
|
|
114
|
+
returns the request thread.
|
|
115
|
+
:rtype: DeletedEntityResponse
|
|
116
|
+
"""
|
|
117
|
+
kwargs['_return_http_data_only'] = True
|
|
118
|
+
if '_preload_content' in kwargs:
|
|
119
|
+
message = "Error! Please call the delete_instrument_event_instruction_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
120
|
+
raise ValueError(message)
|
|
121
|
+
if async_req is not None:
|
|
122
|
+
kwargs['async_req'] = async_req
|
|
123
|
+
return self.delete_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, portfolio_effective_at, **kwargs) # noqa: E501
|
|
124
|
+
|
|
125
|
+
@validate_arguments
|
|
126
|
+
def delete_instrument_event_instruction_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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be deleted.")], 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, **kwargs) -> ApiResponse: # noqa: E501
|
|
127
|
+
"""[EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction # noqa: E501
|
|
128
|
+
|
|
129
|
+
Delete a particular instruction for a particular portfolio # noqa: E501
|
|
130
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
131
|
+
asynchronous HTTP request, please pass async_req=True
|
|
132
|
+
|
|
133
|
+
>>> thread = api.delete_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, portfolio_effective_at, async_req=True)
|
|
134
|
+
>>> result = thread.get()
|
|
135
|
+
|
|
136
|
+
:param scope: The scope of the portfolio. (required)
|
|
137
|
+
:type scope: str
|
|
138
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
139
|
+
:type code: str
|
|
140
|
+
:param instrument_event_instruction_id: The id of the instruction to be deleted. (required)
|
|
141
|
+
:type instrument_event_instruction_id: str
|
|
142
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
143
|
+
:type portfolio_effective_at: str
|
|
144
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
145
|
+
:type async_req: bool, optional
|
|
146
|
+
:param _preload_content: if False, the ApiResponse.data will
|
|
147
|
+
be set to none and raw_data will store the
|
|
148
|
+
HTTP response body without reading/decoding.
|
|
149
|
+
Default is True.
|
|
150
|
+
:type _preload_content: bool, optional
|
|
151
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
|
152
|
+
object with status code, headers, etc
|
|
153
|
+
:type _return_http_data_only: bool, optional
|
|
154
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
155
|
+
number provided, it will be total request
|
|
156
|
+
timeout. It can also be a pair (tuple) of
|
|
157
|
+
(connection, read) timeouts.
|
|
158
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
159
|
+
request; this effectively ignores the authentication
|
|
160
|
+
in the spec for a single request.
|
|
161
|
+
:type _request_auth: dict, optional
|
|
162
|
+
:type _content_type: string, optional: force content-type for the request
|
|
163
|
+
:return: Returns the result object.
|
|
164
|
+
If the method is called asynchronously,
|
|
165
|
+
returns the request thread.
|
|
166
|
+
:rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
|
|
167
|
+
"""
|
|
168
|
+
|
|
169
|
+
_params = locals()
|
|
170
|
+
|
|
171
|
+
_all_params = [
|
|
172
|
+
'scope',
|
|
173
|
+
'code',
|
|
174
|
+
'instrument_event_instruction_id',
|
|
175
|
+
'portfolio_effective_at'
|
|
176
|
+
]
|
|
177
|
+
_all_params.extend(
|
|
178
|
+
[
|
|
179
|
+
'async_req',
|
|
180
|
+
'_return_http_data_only',
|
|
181
|
+
'_preload_content',
|
|
182
|
+
'_request_timeout',
|
|
183
|
+
'_request_auth',
|
|
184
|
+
'_content_type',
|
|
185
|
+
'_headers'
|
|
186
|
+
]
|
|
187
|
+
)
|
|
188
|
+
|
|
189
|
+
# validate the arguments
|
|
190
|
+
for _key, _val in _params['kwargs'].items():
|
|
191
|
+
if _key not in _all_params:
|
|
192
|
+
raise ApiTypeError(
|
|
193
|
+
"Got an unexpected keyword argument '%s'"
|
|
194
|
+
" to method delete_instrument_event_instruction" % _key
|
|
195
|
+
)
|
|
196
|
+
_params[_key] = _val
|
|
197
|
+
del _params['kwargs']
|
|
198
|
+
|
|
199
|
+
_collection_formats = {}
|
|
200
|
+
|
|
201
|
+
# process the path parameters
|
|
202
|
+
_path_params = {}
|
|
203
|
+
if _params['scope']:
|
|
204
|
+
_path_params['scope'] = _params['scope']
|
|
205
|
+
|
|
206
|
+
if _params['code']:
|
|
207
|
+
_path_params['code'] = _params['code']
|
|
208
|
+
|
|
209
|
+
if _params['instrument_event_instruction_id']:
|
|
210
|
+
_path_params['instrumentEventInstructionId'] = _params['instrument_event_instruction_id']
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
# process the query parameters
|
|
214
|
+
_query_params = []
|
|
215
|
+
if _params.get('portfolio_effective_at') is not None: # noqa: E501
|
|
216
|
+
_query_params.append(('portfolioEffectiveAt', _params['portfolio_effective_at']))
|
|
217
|
+
|
|
218
|
+
# process the header parameters
|
|
219
|
+
_header_params = dict(_params.get('_headers', {}))
|
|
220
|
+
# process the form parameters
|
|
221
|
+
_form_params = []
|
|
222
|
+
_files = {}
|
|
223
|
+
# process the body parameter
|
|
224
|
+
_body_params = None
|
|
225
|
+
# set the HTTP header `Accept`
|
|
226
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
227
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
|
228
|
+
|
|
229
|
+
# authentication setting
|
|
230
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
|
231
|
+
|
|
232
|
+
_response_types_map = {
|
|
233
|
+
'200': "DeletedEntityResponse",
|
|
234
|
+
'400': "LusidValidationProblemDetails",
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return self.api_client.call_api(
|
|
238
|
+
'/api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId}', 'DELETE',
|
|
239
|
+
_path_params,
|
|
240
|
+
_query_params,
|
|
241
|
+
_header_params,
|
|
242
|
+
body=_body_params,
|
|
243
|
+
post_params=_form_params,
|
|
244
|
+
files=_files,
|
|
245
|
+
response_types_map=_response_types_map,
|
|
246
|
+
auth_settings=_auth_settings,
|
|
247
|
+
async_req=_params.get('async_req'),
|
|
248
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
|
249
|
+
_preload_content=_params.get('_preload_content', True),
|
|
250
|
+
_request_timeout=_params.get('_request_timeout'),
|
|
251
|
+
collection_formats=_collection_formats,
|
|
252
|
+
_request_auth=_params.get('_request_auth'))
|
|
253
|
+
|
|
76
254
|
@overload
|
|
77
255
|
async def delete_key_from_portfolio_access_metadata(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Portfolio code")], metadata_key : Annotated[constr(strict=True, max_length=256, min_length=1), Field(..., description="The metadataKey identifying the access metadata entry to delete")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the delete is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> DeletedEntityResponse: # noqa: E501
|
|
78
256
|
...
|
|
@@ -1179,6 +1357,192 @@ class PortfoliosApi:
|
|
|
1179
1357
|
collection_formats=_collection_formats,
|
|
1180
1358
|
_request_auth=_params.get('_request_auth'))
|
|
1181
1359
|
|
|
1360
|
+
@overload
|
|
1361
|
+
async def get_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be retrieved.")], 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 instruction. Defaults to return the latest version of the instruction if not specified.")] = None, **kwargs) -> InstrumentEventInstruction: # noqa: E501
|
|
1362
|
+
...
|
|
1363
|
+
|
|
1364
|
+
@overload
|
|
1365
|
+
def get_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be retrieved.")], 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 instruction. Defaults to return the latest version of the instruction if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> InstrumentEventInstruction: # noqa: E501
|
|
1366
|
+
...
|
|
1367
|
+
|
|
1368
|
+
@validate_arguments
|
|
1369
|
+
def get_instrument_event_instruction(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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be retrieved.")], 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 instruction. Defaults to return the latest version of the instruction if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[InstrumentEventInstruction, Awaitable[InstrumentEventInstruction]]: # noqa: E501
|
|
1370
|
+
"""[EARLY ACCESS] GetInstrumentEventInstruction: Get Instrument Event Instruction # noqa: E501
|
|
1371
|
+
|
|
1372
|
+
Get a particular instruction for a particular portfolio # noqa: E501
|
|
1373
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
1374
|
+
asynchronous HTTP request, please pass async_req=True
|
|
1375
|
+
|
|
1376
|
+
>>> thread = api.get_instrument_event_instruction(scope, code, instrument_event_instruction_id, portfolio_effective_at, as_at, async_req=True)
|
|
1377
|
+
>>> result = thread.get()
|
|
1378
|
+
|
|
1379
|
+
:param scope: The scope of the portfolio. (required)
|
|
1380
|
+
:type scope: str
|
|
1381
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
1382
|
+
:type code: str
|
|
1383
|
+
:param instrument_event_instruction_id: The id of the instruction to be retrieved. (required)
|
|
1384
|
+
:type instrument_event_instruction_id: str
|
|
1385
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
1386
|
+
:type portfolio_effective_at: str
|
|
1387
|
+
:param as_at: The asAt datetime at which to retrieve the instruction. Defaults to return the latest version of the instruction if not specified.
|
|
1388
|
+
:type as_at: datetime
|
|
1389
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
1390
|
+
:type async_req: bool, optional
|
|
1391
|
+
:param _request_timeout: timeout setting for this request.
|
|
1392
|
+
If one number provided, it will be total request
|
|
1393
|
+
timeout. It can also be a pair (tuple) of
|
|
1394
|
+
(connection, read) timeouts.
|
|
1395
|
+
:return: Returns the result object.
|
|
1396
|
+
If the method is called asynchronously,
|
|
1397
|
+
returns the request thread.
|
|
1398
|
+
:rtype: InstrumentEventInstruction
|
|
1399
|
+
"""
|
|
1400
|
+
kwargs['_return_http_data_only'] = True
|
|
1401
|
+
if '_preload_content' in kwargs:
|
|
1402
|
+
message = "Error! Please call the get_instrument_event_instruction_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
1403
|
+
raise ValueError(message)
|
|
1404
|
+
if async_req is not None:
|
|
1405
|
+
kwargs['async_req'] = async_req
|
|
1406
|
+
return self.get_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, portfolio_effective_at, as_at, **kwargs) # noqa: E501
|
|
1407
|
+
|
|
1408
|
+
@validate_arguments
|
|
1409
|
+
def get_instrument_event_instruction_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.")], instrument_event_instruction_id : Annotated[StrictStr, Field(..., description="The id of the instruction to be retrieved.")], 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 instruction. Defaults to return the latest version of the instruction if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
1410
|
+
"""[EARLY ACCESS] GetInstrumentEventInstruction: Get Instrument Event Instruction # noqa: E501
|
|
1411
|
+
|
|
1412
|
+
Get a particular instruction for a particular portfolio # noqa: E501
|
|
1413
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
1414
|
+
asynchronous HTTP request, please pass async_req=True
|
|
1415
|
+
|
|
1416
|
+
>>> thread = api.get_instrument_event_instruction_with_http_info(scope, code, instrument_event_instruction_id, portfolio_effective_at, as_at, async_req=True)
|
|
1417
|
+
>>> result = thread.get()
|
|
1418
|
+
|
|
1419
|
+
:param scope: The scope of the portfolio. (required)
|
|
1420
|
+
:type scope: str
|
|
1421
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
1422
|
+
:type code: str
|
|
1423
|
+
:param instrument_event_instruction_id: The id of the instruction to be retrieved. (required)
|
|
1424
|
+
:type instrument_event_instruction_id: str
|
|
1425
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
1426
|
+
:type portfolio_effective_at: str
|
|
1427
|
+
:param as_at: The asAt datetime at which to retrieve the instruction. Defaults to return the latest version of the instruction if not specified.
|
|
1428
|
+
:type as_at: datetime
|
|
1429
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
1430
|
+
:type async_req: bool, optional
|
|
1431
|
+
:param _preload_content: if False, the ApiResponse.data will
|
|
1432
|
+
be set to none and raw_data will store the
|
|
1433
|
+
HTTP response body without reading/decoding.
|
|
1434
|
+
Default is True.
|
|
1435
|
+
:type _preload_content: bool, optional
|
|
1436
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
|
1437
|
+
object with status code, headers, etc
|
|
1438
|
+
:type _return_http_data_only: bool, optional
|
|
1439
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1440
|
+
number provided, it will be total request
|
|
1441
|
+
timeout. It can also be a pair (tuple) of
|
|
1442
|
+
(connection, read) timeouts.
|
|
1443
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1444
|
+
request; this effectively ignores the authentication
|
|
1445
|
+
in the spec for a single request.
|
|
1446
|
+
:type _request_auth: dict, optional
|
|
1447
|
+
:type _content_type: string, optional: force content-type for the request
|
|
1448
|
+
:return: Returns the result object.
|
|
1449
|
+
If the method is called asynchronously,
|
|
1450
|
+
returns the request thread.
|
|
1451
|
+
:rtype: tuple(InstrumentEventInstruction, status_code(int), headers(HTTPHeaderDict))
|
|
1452
|
+
"""
|
|
1453
|
+
|
|
1454
|
+
_params = locals()
|
|
1455
|
+
|
|
1456
|
+
_all_params = [
|
|
1457
|
+
'scope',
|
|
1458
|
+
'code',
|
|
1459
|
+
'instrument_event_instruction_id',
|
|
1460
|
+
'portfolio_effective_at',
|
|
1461
|
+
'as_at'
|
|
1462
|
+
]
|
|
1463
|
+
_all_params.extend(
|
|
1464
|
+
[
|
|
1465
|
+
'async_req',
|
|
1466
|
+
'_return_http_data_only',
|
|
1467
|
+
'_preload_content',
|
|
1468
|
+
'_request_timeout',
|
|
1469
|
+
'_request_auth',
|
|
1470
|
+
'_content_type',
|
|
1471
|
+
'_headers'
|
|
1472
|
+
]
|
|
1473
|
+
)
|
|
1474
|
+
|
|
1475
|
+
# validate the arguments
|
|
1476
|
+
for _key, _val in _params['kwargs'].items():
|
|
1477
|
+
if _key not in _all_params:
|
|
1478
|
+
raise ApiTypeError(
|
|
1479
|
+
"Got an unexpected keyword argument '%s'"
|
|
1480
|
+
" to method get_instrument_event_instruction" % _key
|
|
1481
|
+
)
|
|
1482
|
+
_params[_key] = _val
|
|
1483
|
+
del _params['kwargs']
|
|
1484
|
+
|
|
1485
|
+
_collection_formats = {}
|
|
1486
|
+
|
|
1487
|
+
# process the path parameters
|
|
1488
|
+
_path_params = {}
|
|
1489
|
+
if _params['scope']:
|
|
1490
|
+
_path_params['scope'] = _params['scope']
|
|
1491
|
+
|
|
1492
|
+
if _params['code']:
|
|
1493
|
+
_path_params['code'] = _params['code']
|
|
1494
|
+
|
|
1495
|
+
if _params['instrument_event_instruction_id']:
|
|
1496
|
+
_path_params['instrumentEventInstructionId'] = _params['instrument_event_instruction_id']
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
# process the query parameters
|
|
1500
|
+
_query_params = []
|
|
1501
|
+
if _params.get('portfolio_effective_at') is not None: # noqa: E501
|
|
1502
|
+
_query_params.append(('portfolioEffectiveAt', _params['portfolio_effective_at']))
|
|
1503
|
+
|
|
1504
|
+
if _params.get('as_at') is not None: # noqa: E501
|
|
1505
|
+
if isinstance(_params['as_at'], datetime):
|
|
1506
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
|
1507
|
+
else:
|
|
1508
|
+
_query_params.append(('asAt', _params['as_at']))
|
|
1509
|
+
|
|
1510
|
+
# process the header parameters
|
|
1511
|
+
_header_params = dict(_params.get('_headers', {}))
|
|
1512
|
+
# process the form parameters
|
|
1513
|
+
_form_params = []
|
|
1514
|
+
_files = {}
|
|
1515
|
+
# process the body parameter
|
|
1516
|
+
_body_params = None
|
|
1517
|
+
# set the HTTP header `Accept`
|
|
1518
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
1519
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
|
1520
|
+
|
|
1521
|
+
# authentication setting
|
|
1522
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
|
1523
|
+
|
|
1524
|
+
_response_types_map = {
|
|
1525
|
+
'200': "InstrumentEventInstruction",
|
|
1526
|
+
'400': "LusidValidationProblemDetails",
|
|
1527
|
+
}
|
|
1528
|
+
|
|
1529
|
+
return self.api_client.call_api(
|
|
1530
|
+
'/api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId}', 'GET',
|
|
1531
|
+
_path_params,
|
|
1532
|
+
_query_params,
|
|
1533
|
+
_header_params,
|
|
1534
|
+
body=_body_params,
|
|
1535
|
+
post_params=_form_params,
|
|
1536
|
+
files=_files,
|
|
1537
|
+
response_types_map=_response_types_map,
|
|
1538
|
+
auth_settings=_auth_settings,
|
|
1539
|
+
async_req=_params.get('async_req'),
|
|
1540
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
|
1541
|
+
_preload_content=_params.get('_preload_content', True),
|
|
1542
|
+
_request_timeout=_params.get('_request_timeout'),
|
|
1543
|
+
collection_formats=_collection_formats,
|
|
1544
|
+
_request_auth=_params.get('_request_auth'))
|
|
1545
|
+
|
|
1182
1546
|
@overload
|
|
1183
1547
|
async def get_portfolio(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[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the portfolio definition. 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 portfolio definition. Defaults to returning the latest version of the portfolio definition if not specified.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'Portfolio' domain to decorate onto the portfolio, or from any domain that supports relationships to decorate onto related entities. These must take the format {domain}/{scope}/{code}, for example 'Portfolio/Manager/Id'.")] = None, relationship_definition_ids : Annotated[Optional[conlist(StrictStr)], Field(description="A list of relationship definitions that are used to decorate related entities onto the portfolio in the response. These must take the form {relationshipDefinitionScope}/{relationshipDefinitionCode}.")] = None, **kwargs) -> Portfolio: # noqa: E501
|
|
1184
1548
|
...
|
|
@@ -4577,6 +4941,196 @@ class PortfoliosApi:
|
|
|
4577
4941
|
collection_formats=_collection_formats,
|
|
4578
4942
|
_request_auth=_params.get('_request_auth'))
|
|
4579
4943
|
|
|
4944
|
+
@overload
|
|
4945
|
+
async def upsert_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.")], success_mode : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default)")], request_body : Annotated[Dict[str, InstrumentEventInstructionRequest], Field(..., description="The instructions to be upserted to 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, **kwargs) -> InstrumentEventInstructionsResponse: # noqa: E501
|
|
4946
|
+
...
|
|
4947
|
+
|
|
4948
|
+
@overload
|
|
4949
|
+
def upsert_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.")], success_mode : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default)")], request_body : Annotated[Dict[str, InstrumentEventInstructionRequest], Field(..., description="The instructions to be upserted to 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, async_req: Optional[bool]=True, **kwargs) -> InstrumentEventInstructionsResponse: # noqa: E501
|
|
4950
|
+
...
|
|
4951
|
+
|
|
4952
|
+
@validate_arguments
|
|
4953
|
+
def upsert_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.")], success_mode : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default)")], request_body : Annotated[Dict[str, InstrumentEventInstructionRequest], Field(..., description="The instructions to be upserted to 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, async_req: Optional[bool]=None, **kwargs) -> Union[InstrumentEventInstructionsResponse, Awaitable[InstrumentEventInstructionsResponse]]: # noqa: E501
|
|
4954
|
+
"""[EARLY ACCESS] UpsertInstrumentEventInstructions: Upsert Instrument Event Instructions # noqa: E501
|
|
4955
|
+
|
|
4956
|
+
Batch upsert for instrument event instructions, for the portfolio or individual holdings # noqa: E501
|
|
4957
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
4958
|
+
asynchronous HTTP request, please pass async_req=True
|
|
4959
|
+
|
|
4960
|
+
>>> thread = api.upsert_instrument_event_instructions(scope, code, success_mode, request_body, portfolio_effective_at, async_req=True)
|
|
4961
|
+
>>> result = thread.get()
|
|
4962
|
+
|
|
4963
|
+
:param scope: The scope of the portfolio. (required)
|
|
4964
|
+
:type scope: str
|
|
4965
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
4966
|
+
:type code: str
|
|
4967
|
+
:param success_mode: Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default) (required)
|
|
4968
|
+
:type success_mode: str
|
|
4969
|
+
:param request_body: The instructions to be upserted to the portfolio. (required)
|
|
4970
|
+
:type request_body: Dict[str, InstrumentEventInstructionRequest]
|
|
4971
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
4972
|
+
:type portfolio_effective_at: str
|
|
4973
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
4974
|
+
:type async_req: bool, optional
|
|
4975
|
+
:param _request_timeout: timeout setting for this request.
|
|
4976
|
+
If one number provided, it will be total request
|
|
4977
|
+
timeout. It can also be a pair (tuple) of
|
|
4978
|
+
(connection, read) timeouts.
|
|
4979
|
+
:return: Returns the result object.
|
|
4980
|
+
If the method is called asynchronously,
|
|
4981
|
+
returns the request thread.
|
|
4982
|
+
:rtype: InstrumentEventInstructionsResponse
|
|
4983
|
+
"""
|
|
4984
|
+
kwargs['_return_http_data_only'] = True
|
|
4985
|
+
if '_preload_content' in kwargs:
|
|
4986
|
+
message = "Error! Please call the upsert_instrument_event_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
|
4987
|
+
raise ValueError(message)
|
|
4988
|
+
if async_req is not None:
|
|
4989
|
+
kwargs['async_req'] = async_req
|
|
4990
|
+
return self.upsert_instrument_event_instructions_with_http_info(scope, code, success_mode, request_body, portfolio_effective_at, **kwargs) # noqa: E501
|
|
4991
|
+
|
|
4992
|
+
@validate_arguments
|
|
4993
|
+
def upsert_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.")], success_mode : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default)")], request_body : Annotated[Dict[str, InstrumentEventInstructionRequest], Field(..., description="The instructions to be upserted to 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, **kwargs) -> ApiResponse: # noqa: E501
|
|
4994
|
+
"""[EARLY ACCESS] UpsertInstrumentEventInstructions: Upsert Instrument Event Instructions # noqa: E501
|
|
4995
|
+
|
|
4996
|
+
Batch upsert for instrument event instructions, for the portfolio or individual holdings # noqa: E501
|
|
4997
|
+
This method makes a synchronous HTTP request by default. To make an
|
|
4998
|
+
asynchronous HTTP request, please pass async_req=True
|
|
4999
|
+
|
|
5000
|
+
>>> thread = api.upsert_instrument_event_instructions_with_http_info(scope, code, success_mode, request_body, portfolio_effective_at, async_req=True)
|
|
5001
|
+
>>> result = thread.get()
|
|
5002
|
+
|
|
5003
|
+
:param scope: The scope of the portfolio. (required)
|
|
5004
|
+
:type scope: str
|
|
5005
|
+
:param code: The code of the portfolio. Together with the scope this uniquely identifies the portfolio. (required)
|
|
5006
|
+
:type code: str
|
|
5007
|
+
:param success_mode: Whether the batch request should fail atomically or in a partial fashion - allowed values: Atomic, Partial (default) (required)
|
|
5008
|
+
:type success_mode: str
|
|
5009
|
+
:param request_body: The instructions to be upserted to the portfolio. (required)
|
|
5010
|
+
:type request_body: Dict[str, InstrumentEventInstructionRequest]
|
|
5011
|
+
:param portfolio_effective_at: The effective date at which the portfolio will be resolved. Defaults to current time if not specified.
|
|
5012
|
+
:type portfolio_effective_at: str
|
|
5013
|
+
:param async_req: Whether to execute the request asynchronously.
|
|
5014
|
+
:type async_req: bool, optional
|
|
5015
|
+
:param _preload_content: if False, the ApiResponse.data will
|
|
5016
|
+
be set to none and raw_data will store the
|
|
5017
|
+
HTTP response body without reading/decoding.
|
|
5018
|
+
Default is True.
|
|
5019
|
+
:type _preload_content: bool, optional
|
|
5020
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
|
5021
|
+
object with status code, headers, etc
|
|
5022
|
+
:type _return_http_data_only: bool, optional
|
|
5023
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
5024
|
+
number provided, it will be total request
|
|
5025
|
+
timeout. It can also be a pair (tuple) of
|
|
5026
|
+
(connection, read) timeouts.
|
|
5027
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
5028
|
+
request; this effectively ignores the authentication
|
|
5029
|
+
in the spec for a single request.
|
|
5030
|
+
:type _request_auth: dict, optional
|
|
5031
|
+
:type _content_type: string, optional: force content-type for the request
|
|
5032
|
+
:return: Returns the result object.
|
|
5033
|
+
If the method is called asynchronously,
|
|
5034
|
+
returns the request thread.
|
|
5035
|
+
:rtype: tuple(InstrumentEventInstructionsResponse, status_code(int), headers(HTTPHeaderDict))
|
|
5036
|
+
"""
|
|
5037
|
+
|
|
5038
|
+
_params = locals()
|
|
5039
|
+
|
|
5040
|
+
_all_params = [
|
|
5041
|
+
'scope',
|
|
5042
|
+
'code',
|
|
5043
|
+
'success_mode',
|
|
5044
|
+
'request_body',
|
|
5045
|
+
'portfolio_effective_at'
|
|
5046
|
+
]
|
|
5047
|
+
_all_params.extend(
|
|
5048
|
+
[
|
|
5049
|
+
'async_req',
|
|
5050
|
+
'_return_http_data_only',
|
|
5051
|
+
'_preload_content',
|
|
5052
|
+
'_request_timeout',
|
|
5053
|
+
'_request_auth',
|
|
5054
|
+
'_content_type',
|
|
5055
|
+
'_headers'
|
|
5056
|
+
]
|
|
5057
|
+
)
|
|
5058
|
+
|
|
5059
|
+
# validate the arguments
|
|
5060
|
+
for _key, _val in _params['kwargs'].items():
|
|
5061
|
+
if _key not in _all_params:
|
|
5062
|
+
raise ApiTypeError(
|
|
5063
|
+
"Got an unexpected keyword argument '%s'"
|
|
5064
|
+
" to method upsert_instrument_event_instructions" % _key
|
|
5065
|
+
)
|
|
5066
|
+
_params[_key] = _val
|
|
5067
|
+
del _params['kwargs']
|
|
5068
|
+
|
|
5069
|
+
_collection_formats = {}
|
|
5070
|
+
|
|
5071
|
+
# process the path parameters
|
|
5072
|
+
_path_params = {}
|
|
5073
|
+
if _params['scope']:
|
|
5074
|
+
_path_params['scope'] = _params['scope']
|
|
5075
|
+
|
|
5076
|
+
if _params['code']:
|
|
5077
|
+
_path_params['code'] = _params['code']
|
|
5078
|
+
|
|
5079
|
+
|
|
5080
|
+
# process the query parameters
|
|
5081
|
+
_query_params = []
|
|
5082
|
+
if _params.get('portfolio_effective_at') is not None: # noqa: E501
|
|
5083
|
+
_query_params.append(('portfolioEffectiveAt', _params['portfolio_effective_at']))
|
|
5084
|
+
|
|
5085
|
+
if _params.get('success_mode') is not None: # noqa: E501
|
|
5086
|
+
_query_params.append(('successMode', _params['success_mode']))
|
|
5087
|
+
|
|
5088
|
+
# process the header parameters
|
|
5089
|
+
_header_params = dict(_params.get('_headers', {}))
|
|
5090
|
+
# process the form parameters
|
|
5091
|
+
_form_params = []
|
|
5092
|
+
_files = {}
|
|
5093
|
+
# process the body parameter
|
|
5094
|
+
_body_params = None
|
|
5095
|
+
if _params['request_body'] is not None:
|
|
5096
|
+
_body_params = _params['request_body']
|
|
5097
|
+
|
|
5098
|
+
# set the HTTP header `Accept`
|
|
5099
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
|
5100
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
|
5101
|
+
|
|
5102
|
+
# set the HTTP header `Content-Type`
|
|
5103
|
+
_content_types_list = _params.get('_content_type',
|
|
5104
|
+
self.api_client.select_header_content_type(
|
|
5105
|
+
['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
|
|
5106
|
+
if _content_types_list:
|
|
5107
|
+
_header_params['Content-Type'] = _content_types_list
|
|
5108
|
+
|
|
5109
|
+
# authentication setting
|
|
5110
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
|
5111
|
+
|
|
5112
|
+
_response_types_map = {
|
|
5113
|
+
'200': "InstrumentEventInstructionsResponse",
|
|
5114
|
+
'400': "LusidValidationProblemDetails",
|
|
5115
|
+
}
|
|
5116
|
+
|
|
5117
|
+
return self.api_client.call_api(
|
|
5118
|
+
'/api/portfolios/{scope}/{code}/instrumenteventinstructions', 'POST',
|
|
5119
|
+
_path_params,
|
|
5120
|
+
_query_params,
|
|
5121
|
+
_header_params,
|
|
5122
|
+
body=_body_params,
|
|
5123
|
+
post_params=_form_params,
|
|
5124
|
+
files=_files,
|
|
5125
|
+
response_types_map=_response_types_map,
|
|
5126
|
+
auth_settings=_auth_settings,
|
|
5127
|
+
async_req=_params.get('async_req'),
|
|
5128
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
|
5129
|
+
_preload_content=_params.get('_preload_content', True),
|
|
5130
|
+
_request_timeout=_params.get('_request_timeout'),
|
|
5131
|
+
collection_formats=_collection_formats,
|
|
5132
|
+
_request_auth=_params.get('_request_auth'))
|
|
5133
|
+
|
|
4580
5134
|
@overload
|
|
4581
5135
|
async def upsert_portfolio_access_metadata(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Portfolio Access Metadata Rule.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="Portfolio code")], metadata_key : Annotated[constr(strict=True, max_length=256, min_length=1), Field(..., description="Key of the access metadata to upsert")], upsert_portfolio_access_metadata_request : Annotated[UpsertPortfolioAccessMetadataRequest, Field(..., description="The Portfolio Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ResourceListOfAccessMetadataValueOf: # noqa: E501
|
|
4582
5136
|
...
|
|
@@ -52,15 +52,15 @@ class StagedModificationsApi:
|
|
|
52
52
|
self.api_client = api_client
|
|
53
53
|
|
|
54
54
|
@overload
|
|
55
|
-
async def add_decision(self, id : Annotated[constr(strict=True, max_length=
|
|
55
|
+
async def add_decision(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], staged_modification_decision_request : Annotated[StagedModificationDecisionRequest, Field(..., description="The decision on the requested staged modification, \"Approve\" or \"Reject\".")], **kwargs) -> StagedModification: # noqa: E501
|
|
56
56
|
...
|
|
57
57
|
|
|
58
58
|
@overload
|
|
59
|
-
def add_decision(self, id : Annotated[constr(strict=True, max_length=
|
|
59
|
+
def add_decision(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], staged_modification_decision_request : Annotated[StagedModificationDecisionRequest, Field(..., description="The decision on the requested staged modification, \"Approve\" or \"Reject\".")], async_req: Optional[bool]=True, **kwargs) -> StagedModification: # noqa: E501
|
|
60
60
|
...
|
|
61
61
|
|
|
62
62
|
@validate_arguments
|
|
63
|
-
def add_decision(self, id : Annotated[constr(strict=True, max_length=
|
|
63
|
+
def add_decision(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], staged_modification_decision_request : Annotated[StagedModificationDecisionRequest, Field(..., description="The decision on the requested staged modification, \"Approve\" or \"Reject\".")], async_req: Optional[bool]=None, **kwargs) -> Union[StagedModification, Awaitable[StagedModification]]: # noqa: E501
|
|
64
64
|
"""[EXPERIMENTAL] AddDecision: AddDecision # noqa: E501
|
|
65
65
|
|
|
66
66
|
Add decision to staged modification, Approve or Reject. # noqa: E501
|
|
@@ -94,7 +94,7 @@ class StagedModificationsApi:
|
|
|
94
94
|
return self.add_decision_with_http_info(id, staged_modification_decision_request, **kwargs) # noqa: E501
|
|
95
95
|
|
|
96
96
|
@validate_arguments
|
|
97
|
-
def add_decision_with_http_info(self, id : Annotated[constr(strict=True, max_length=
|
|
97
|
+
def add_decision_with_http_info(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], staged_modification_decision_request : Annotated[StagedModificationDecisionRequest, Field(..., description="The decision on the requested staged modification, \"Approve\" or \"Reject\".")], **kwargs) -> ApiResponse: # noqa: E501
|
|
98
98
|
"""[EXPERIMENTAL] AddDecision: AddDecision # noqa: E501
|
|
99
99
|
|
|
100
100
|
Add decision to staged modification, Approve or Reject. # noqa: E501
|
|
@@ -218,15 +218,15 @@ class StagedModificationsApi:
|
|
|
218
218
|
_request_auth=_params.get('_request_auth'))
|
|
219
219
|
|
|
220
220
|
@overload
|
|
221
|
-
async def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=
|
|
221
|
+
async def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The unique identifier for a staged modification.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staged modification. Defaults to latest if not specified.")] = None, **kwargs) -> StagedModification: # noqa: E501
|
|
222
222
|
...
|
|
223
223
|
|
|
224
224
|
@overload
|
|
225
|
-
def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=
|
|
225
|
+
def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The unique identifier for a staged modification.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staged modification. Defaults to latest if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> StagedModification: # noqa: E501
|
|
226
226
|
...
|
|
227
227
|
|
|
228
228
|
@validate_arguments
|
|
229
|
-
def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=
|
|
229
|
+
def get_staged_modification(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The unique identifier for a staged modification.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staged modification. Defaults to latest if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[StagedModification, Awaitable[StagedModification]]: # noqa: E501
|
|
230
230
|
"""[EXPERIMENTAL] GetStagedModification: GetStagedModification # noqa: E501
|
|
231
231
|
|
|
232
232
|
Retrieve the details of a staged modification. # noqa: E501
|
|
@@ -260,7 +260,7 @@ class StagedModificationsApi:
|
|
|
260
260
|
return self.get_staged_modification_with_http_info(id, as_at, **kwargs) # noqa: E501
|
|
261
261
|
|
|
262
262
|
@validate_arguments
|
|
263
|
-
def get_staged_modification_with_http_info(self, id : Annotated[constr(strict=True, max_length=
|
|
263
|
+
def get_staged_modification_with_http_info(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The unique identifier for a staged modification.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staged modification. Defaults to latest if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
264
264
|
"""[EXPERIMENTAL] GetStagedModification: GetStagedModification # noqa: E501
|
|
265
265
|
|
|
266
266
|
Retrieve the details of a staged modification. # noqa: E501
|
|
@@ -380,15 +380,15 @@ class StagedModificationsApi:
|
|
|
380
380
|
_request_auth=_params.get('_request_auth'))
|
|
381
381
|
|
|
382
382
|
@overload
|
|
383
|
-
async def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=
|
|
383
|
+
async def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list changes. Defaults to return the latest version of each staged change 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 requested staged modification changes from a previous call to list requested staged modifications. 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 number of returned results to this many. 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 result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names suffixed by \" ASC\" or \" DESC\"")] = None, **kwargs) -> PagedResourceListOfStagedModificationsRequestedChangeInterval: # noqa: E501
|
|
384
384
|
...
|
|
385
385
|
|
|
386
386
|
@overload
|
|
387
|
-
def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=
|
|
387
|
+
def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list changes. Defaults to return the latest version of each staged change 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 requested staged modification changes from a previous call to list requested staged modifications. 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 number of returned results to this many. 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 result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names suffixed by \" ASC\" or \" DESC\"")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfStagedModificationsRequestedChangeInterval: # noqa: E501
|
|
388
388
|
...
|
|
389
389
|
|
|
390
390
|
@validate_arguments
|
|
391
|
-
def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=
|
|
391
|
+
def list_requested_changes(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list changes. Defaults to return the latest version of each staged change 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 requested staged modification changes from a previous call to list requested staged modifications. 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 number of returned results to this many. 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 result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names suffixed by \" ASC\" or \" DESC\"")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfStagedModificationsRequestedChangeInterval, Awaitable[PagedResourceListOfStagedModificationsRequestedChangeInterval]]: # noqa: E501
|
|
392
392
|
"""[EXPERIMENTAL] ListRequestedChanges: ListRequestedChanges # noqa: E501
|
|
393
393
|
|
|
394
394
|
List the requested changes for a staged modification. # noqa: E501
|
|
@@ -430,7 +430,7 @@ class StagedModificationsApi:
|
|
|
430
430
|
return self.list_requested_changes_with_http_info(id, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
|
|
431
431
|
|
|
432
432
|
@validate_arguments
|
|
433
|
-
def list_requested_changes_with_http_info(self, id : Annotated[constr(strict=True, max_length=
|
|
433
|
+
def list_requested_changes_with_http_info(self, id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="Unique Id for a staged modification..")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list changes. Defaults to return the latest version of each staged change 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 requested staged modification changes from a previous call to list requested staged modifications. 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 number of returned results to this many. 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 result set. Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names suffixed by \" ASC\" or \" DESC\"")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
|
434
434
|
"""[EXPERIMENTAL] ListRequestedChanges: ListRequestedChanges # noqa: E501
|
|
435
435
|
|
|
436
436
|
List the requested changes for a staged modification. # noqa: E501
|
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.
|
|
376
|
+
"Version of the API: 0.11.6529\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
|
@@ -396,6 +396,9 @@ from lusid.models.instrument_delete_modes import InstrumentDeleteModes
|
|
|
396
396
|
from lusid.models.instrument_event import InstrumentEvent
|
|
397
397
|
from lusid.models.instrument_event_configuration import InstrumentEventConfiguration
|
|
398
398
|
from lusid.models.instrument_event_holder import InstrumentEventHolder
|
|
399
|
+
from lusid.models.instrument_event_instruction import InstrumentEventInstruction
|
|
400
|
+
from lusid.models.instrument_event_instruction_request import InstrumentEventInstructionRequest
|
|
401
|
+
from lusid.models.instrument_event_instructions_response import InstrumentEventInstructionsResponse
|
|
399
402
|
from lusid.models.instrument_event_type import InstrumentEventType
|
|
400
403
|
from lusid.models.instrument_id_type_descriptor import InstrumentIdTypeDescriptor
|
|
401
404
|
from lusid.models.instrument_id_value import InstrumentIdValue
|
|
@@ -1350,6 +1353,9 @@ __all__ = [
|
|
|
1350
1353
|
"InstrumentEvent",
|
|
1351
1354
|
"InstrumentEventConfiguration",
|
|
1352
1355
|
"InstrumentEventHolder",
|
|
1356
|
+
"InstrumentEventInstruction",
|
|
1357
|
+
"InstrumentEventInstructionRequest",
|
|
1358
|
+
"InstrumentEventInstructionsResponse",
|
|
1353
1359
|
"InstrumentEventType",
|
|
1354
1360
|
"InstrumentIdTypeDescriptor",
|
|
1355
1361
|
"InstrumentIdValue",
|
|
@@ -0,0 +1,121 @@
|
|
|
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, Optional
|
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr
|
|
23
|
+
from lusid.models.resource_id import ResourceId
|
|
24
|
+
from lusid.models.version import Version
|
|
25
|
+
|
|
26
|
+
class InstrumentEventInstruction(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
An instruction for an instrument event # noqa: E501
|
|
29
|
+
"""
|
|
30
|
+
instrument_event_instruction_id: Optional[StrictStr] = Field(None, alias="instrumentEventInstructionId", description="The unique identifier for this instruction")
|
|
31
|
+
portfolio_id: Optional[ResourceId] = Field(None, alias="portfolioId")
|
|
32
|
+
instrument_event_id: Optional[StrictStr] = Field(None, alias="instrumentEventId", description="The identifier of the instrument event being instructed")
|
|
33
|
+
instruction_type: Optional[StrictStr] = Field(None, alias="instructionType", description="The type of instruction (Ignore, ElectForPortfolio, ElectForHolding)")
|
|
34
|
+
election_key: Optional[StrictStr] = Field(None, alias="electionKey", description="For elected instructions, the key to be chosen")
|
|
35
|
+
holding_id: Optional[StrictInt] = Field(None, alias="holdingId", description="For holding instructions, the id of the holding for which the instruction will apply")
|
|
36
|
+
version: Optional[Version] = None
|
|
37
|
+
href: Optional[StrictStr] = Field(None, description="The uri for this version of this instruction")
|
|
38
|
+
__properties = ["instrumentEventInstructionId", "portfolioId", "instrumentEventId", "instructionType", "electionKey", "holdingId", "version", "href"]
|
|
39
|
+
|
|
40
|
+
class Config:
|
|
41
|
+
"""Pydantic configuration"""
|
|
42
|
+
allow_population_by_field_name = True
|
|
43
|
+
validate_assignment = True
|
|
44
|
+
|
|
45
|
+
def to_str(self) -> str:
|
|
46
|
+
"""Returns the string representation of the model using alias"""
|
|
47
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
48
|
+
|
|
49
|
+
def to_json(self) -> str:
|
|
50
|
+
"""Returns the JSON representation of the model using alias"""
|
|
51
|
+
return json.dumps(self.to_dict())
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def from_json(cls, json_str: str) -> InstrumentEventInstruction:
|
|
55
|
+
"""Create an instance of InstrumentEventInstruction from a JSON string"""
|
|
56
|
+
return cls.from_dict(json.loads(json_str))
|
|
57
|
+
|
|
58
|
+
def to_dict(self):
|
|
59
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
60
|
+
_dict = self.dict(by_alias=True,
|
|
61
|
+
exclude={
|
|
62
|
+
},
|
|
63
|
+
exclude_none=True)
|
|
64
|
+
# override the default output from pydantic by calling `to_dict()` of portfolio_id
|
|
65
|
+
if self.portfolio_id:
|
|
66
|
+
_dict['portfolioId'] = self.portfolio_id.to_dict()
|
|
67
|
+
# override the default output from pydantic by calling `to_dict()` of version
|
|
68
|
+
if self.version:
|
|
69
|
+
_dict['version'] = self.version.to_dict()
|
|
70
|
+
# set to None if instrument_event_instruction_id (nullable) is None
|
|
71
|
+
# and __fields_set__ contains the field
|
|
72
|
+
if self.instrument_event_instruction_id is None and "instrument_event_instruction_id" in self.__fields_set__:
|
|
73
|
+
_dict['instrumentEventInstructionId'] = None
|
|
74
|
+
|
|
75
|
+
# set to None if instrument_event_id (nullable) is None
|
|
76
|
+
# and __fields_set__ contains the field
|
|
77
|
+
if self.instrument_event_id is None and "instrument_event_id" in self.__fields_set__:
|
|
78
|
+
_dict['instrumentEventId'] = None
|
|
79
|
+
|
|
80
|
+
# set to None if instruction_type (nullable) is None
|
|
81
|
+
# and __fields_set__ contains the field
|
|
82
|
+
if self.instruction_type is None and "instruction_type" in self.__fields_set__:
|
|
83
|
+
_dict['instructionType'] = None
|
|
84
|
+
|
|
85
|
+
# set to None if election_key (nullable) is None
|
|
86
|
+
# and __fields_set__ contains the field
|
|
87
|
+
if self.election_key is None and "election_key" in self.__fields_set__:
|
|
88
|
+
_dict['electionKey'] = None
|
|
89
|
+
|
|
90
|
+
# set to None if holding_id (nullable) is None
|
|
91
|
+
# and __fields_set__ contains the field
|
|
92
|
+
if self.holding_id is None and "holding_id" in self.__fields_set__:
|
|
93
|
+
_dict['holdingId'] = None
|
|
94
|
+
|
|
95
|
+
# set to None if href (nullable) is None
|
|
96
|
+
# and __fields_set__ contains the field
|
|
97
|
+
if self.href is None and "href" in self.__fields_set__:
|
|
98
|
+
_dict['href'] = None
|
|
99
|
+
|
|
100
|
+
return _dict
|
|
101
|
+
|
|
102
|
+
@classmethod
|
|
103
|
+
def from_dict(cls, obj: dict) -> InstrumentEventInstruction:
|
|
104
|
+
"""Create an instance of InstrumentEventInstruction from a dict"""
|
|
105
|
+
if obj is None:
|
|
106
|
+
return None
|
|
107
|
+
|
|
108
|
+
if not isinstance(obj, dict):
|
|
109
|
+
return InstrumentEventInstruction.parse_obj(obj)
|
|
110
|
+
|
|
111
|
+
_obj = InstrumentEventInstruction.parse_obj({
|
|
112
|
+
"instrument_event_instruction_id": obj.get("instrumentEventInstructionId"),
|
|
113
|
+
"portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
|
|
114
|
+
"instrument_event_id": obj.get("instrumentEventId"),
|
|
115
|
+
"instruction_type": obj.get("instructionType"),
|
|
116
|
+
"election_key": obj.get("electionKey"),
|
|
117
|
+
"holding_id": obj.get("holdingId"),
|
|
118
|
+
"version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None,
|
|
119
|
+
"href": obj.get("href")
|
|
120
|
+
})
|
|
121
|
+
return _obj
|
|
@@ -0,0 +1,87 @@
|
|
|
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, Optional
|
|
22
|
+
from pydantic.v1 import BaseModel, Field, StrictInt, StrictStr, constr
|
|
23
|
+
|
|
24
|
+
class InstrumentEventInstructionRequest(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
The request to create an instruction for an instrument event # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
instrument_event_instruction_id: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventInstructionId", description="The unique identifier for this instruction")
|
|
29
|
+
instrument_event_id: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventId", description="The identifier of the instrument event being instructed")
|
|
30
|
+
instruction_type: constr(strict=True, min_length=1) = Field(..., alias="instructionType", description="The type of instruction (Ignore, ElectForPortfolio, ElectForHolding)")
|
|
31
|
+
election_key: Optional[StrictStr] = Field(None, alias="electionKey", description="For elected instructions, the key to be chosen")
|
|
32
|
+
holding_id: Optional[StrictInt] = Field(None, alias="holdingId", description="For holding instructions, the id of the holding for which the instruction will apply")
|
|
33
|
+
__properties = ["instrumentEventInstructionId", "instrumentEventId", "instructionType", "electionKey", "holdingId"]
|
|
34
|
+
|
|
35
|
+
class Config:
|
|
36
|
+
"""Pydantic configuration"""
|
|
37
|
+
allow_population_by_field_name = True
|
|
38
|
+
validate_assignment = True
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
return json.dumps(self.to_dict())
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> InstrumentEventInstructionRequest:
|
|
50
|
+
"""Create an instance of InstrumentEventInstructionRequest from a JSON string"""
|
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
def to_dict(self):
|
|
54
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
55
|
+
_dict = self.dict(by_alias=True,
|
|
56
|
+
exclude={
|
|
57
|
+
},
|
|
58
|
+
exclude_none=True)
|
|
59
|
+
# set to None if election_key (nullable) is None
|
|
60
|
+
# and __fields_set__ contains the field
|
|
61
|
+
if self.election_key is None and "election_key" in self.__fields_set__:
|
|
62
|
+
_dict['electionKey'] = None
|
|
63
|
+
|
|
64
|
+
# set to None if holding_id (nullable) is None
|
|
65
|
+
# and __fields_set__ contains the field
|
|
66
|
+
if self.holding_id is None and "holding_id" in self.__fields_set__:
|
|
67
|
+
_dict['holdingId'] = None
|
|
68
|
+
|
|
69
|
+
return _dict
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls, obj: dict) -> InstrumentEventInstructionRequest:
|
|
73
|
+
"""Create an instance of InstrumentEventInstructionRequest from a dict"""
|
|
74
|
+
if obj is None:
|
|
75
|
+
return None
|
|
76
|
+
|
|
77
|
+
if not isinstance(obj, dict):
|
|
78
|
+
return InstrumentEventInstructionRequest.parse_obj(obj)
|
|
79
|
+
|
|
80
|
+
_obj = InstrumentEventInstructionRequest.parse_obj({
|
|
81
|
+
"instrument_event_instruction_id": obj.get("instrumentEventInstructionId"),
|
|
82
|
+
"instrument_event_id": obj.get("instrumentEventId"),
|
|
83
|
+
"instruction_type": obj.get("instructionType"),
|
|
84
|
+
"election_key": obj.get("electionKey"),
|
|
85
|
+
"holding_id": obj.get("holdingId")
|
|
86
|
+
})
|
|
87
|
+
return _obj
|
|
@@ -0,0 +1,107 @@
|
|
|
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, Optional
|
|
22
|
+
from pydantic.v1 import BaseModel, Field
|
|
23
|
+
from lusid.models.error_detail import ErrorDetail
|
|
24
|
+
from lusid.models.instrument_event_instruction import InstrumentEventInstruction
|
|
25
|
+
|
|
26
|
+
class InstrumentEventInstructionsResponse(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
The collection of successfully upserted instructions, and the collection of failures for those instructions that could not be upserted # noqa: E501
|
|
29
|
+
"""
|
|
30
|
+
values: Optional[Dict[str, InstrumentEventInstruction]] = Field(None, description="The collection of successfully upserted instructions")
|
|
31
|
+
failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The collection of error information for instructions that could not be upserted")
|
|
32
|
+
__properties = ["values", "failed"]
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
"""Pydantic configuration"""
|
|
36
|
+
allow_population_by_field_name = True
|
|
37
|
+
validate_assignment = True
|
|
38
|
+
|
|
39
|
+
def to_str(self) -> str:
|
|
40
|
+
"""Returns the string representation of the model using alias"""
|
|
41
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
42
|
+
|
|
43
|
+
def to_json(self) -> str:
|
|
44
|
+
"""Returns the JSON representation of the model using alias"""
|
|
45
|
+
return json.dumps(self.to_dict())
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_json(cls, json_str: str) -> InstrumentEventInstructionsResponse:
|
|
49
|
+
"""Create an instance of InstrumentEventInstructionsResponse from a JSON string"""
|
|
50
|
+
return cls.from_dict(json.loads(json_str))
|
|
51
|
+
|
|
52
|
+
def to_dict(self):
|
|
53
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
54
|
+
_dict = self.dict(by_alias=True,
|
|
55
|
+
exclude={
|
|
56
|
+
},
|
|
57
|
+
exclude_none=True)
|
|
58
|
+
# override the default output from pydantic by calling `to_dict()` of each value in values (dict)
|
|
59
|
+
_field_dict = {}
|
|
60
|
+
if self.values:
|
|
61
|
+
for _key in self.values:
|
|
62
|
+
if self.values[_key]:
|
|
63
|
+
_field_dict[_key] = self.values[_key].to_dict()
|
|
64
|
+
_dict['values'] = _field_dict
|
|
65
|
+
# override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
|
|
66
|
+
_field_dict = {}
|
|
67
|
+
if self.failed:
|
|
68
|
+
for _key in self.failed:
|
|
69
|
+
if self.failed[_key]:
|
|
70
|
+
_field_dict[_key] = self.failed[_key].to_dict()
|
|
71
|
+
_dict['failed'] = _field_dict
|
|
72
|
+
# set to None if values (nullable) is None
|
|
73
|
+
# and __fields_set__ contains the field
|
|
74
|
+
if self.values is None and "values" in self.__fields_set__:
|
|
75
|
+
_dict['values'] = None
|
|
76
|
+
|
|
77
|
+
# set to None if failed (nullable) is None
|
|
78
|
+
# and __fields_set__ contains the field
|
|
79
|
+
if self.failed is None and "failed" in self.__fields_set__:
|
|
80
|
+
_dict['failed'] = None
|
|
81
|
+
|
|
82
|
+
return _dict
|
|
83
|
+
|
|
84
|
+
@classmethod
|
|
85
|
+
def from_dict(cls, obj: dict) -> InstrumentEventInstructionsResponse:
|
|
86
|
+
"""Create an instance of InstrumentEventInstructionsResponse from a dict"""
|
|
87
|
+
if obj is None:
|
|
88
|
+
return None
|
|
89
|
+
|
|
90
|
+
if not isinstance(obj, dict):
|
|
91
|
+
return InstrumentEventInstructionsResponse.parse_obj(obj)
|
|
92
|
+
|
|
93
|
+
_obj = InstrumentEventInstructionsResponse.parse_obj({
|
|
94
|
+
"values": dict(
|
|
95
|
+
(_k, InstrumentEventInstruction.from_dict(_v))
|
|
96
|
+
for _k, _v in obj.get("values").items()
|
|
97
|
+
)
|
|
98
|
+
if obj.get("values") is not None
|
|
99
|
+
else None,
|
|
100
|
+
"failed": dict(
|
|
101
|
+
(_k, ErrorDetail.from_dict(_v))
|
|
102
|
+
for _k, _v in obj.get("failed").items()
|
|
103
|
+
)
|
|
104
|
+
if obj.get("failed") is not None
|
|
105
|
+
else None
|
|
106
|
+
})
|
|
107
|
+
return _obj
|
lusid/models/version.py
CHANGED
|
@@ -60,7 +60,6 @@ class Version(BaseModel):
|
|
|
60
60
|
"""Returns the dictionary representation of the model using alias"""
|
|
61
61
|
_dict = self.dict(by_alias=True,
|
|
62
62
|
exclude={
|
|
63
|
-
"staged_modification_id_modified",
|
|
64
63
|
},
|
|
65
64
|
exclude_none=True)
|
|
66
65
|
# set to None if as_at_created (nullable) is None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lusid-sdk
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.95
|
|
4
4
|
Summary: LUSID API
|
|
5
5
|
Home-page: https://github.com/finbourne/lusid-sdk-python
|
|
6
6
|
License: MIT
|
|
@@ -29,8 +29,8 @@ FINBOURNE Technology
|
|
|
29
29
|
|
|
30
30
|
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
31
31
|
|
|
32
|
-
- API version: 0.11.
|
|
33
|
-
- Package version: 2.1.
|
|
32
|
+
- API version: 0.11.6529
|
|
33
|
+
- Package version: 2.1.95
|
|
34
34
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
35
35
|
For more information, please visit [https://www.finbourne.com](https://www.finbourne.com)
|
|
36
36
|
|
|
@@ -533,12 +533,14 @@ Class | Method | HTTP request | Description
|
|
|
533
533
|
*PortfolioGroupsApi* | [**update_portfolio_group**](docs/PortfolioGroupsApi.md#update_portfolio_group) | **PUT** /api/portfoliogroups/{scope}/{code} | [EARLY ACCESS] UpdatePortfolioGroup: Update portfolio group
|
|
534
534
|
*PortfolioGroupsApi* | [**upsert_group_properties**](docs/PortfolioGroupsApi.md#upsert_group_properties) | **POST** /api/portfoliogroups/{scope}/{code}/properties/$upsert | [EARLY ACCESS] UpsertGroupProperties: Upsert group properties
|
|
535
535
|
*PortfolioGroupsApi* | [**upsert_portfolio_group_access_metadata**](docs/PortfolioGroupsApi.md#upsert_portfolio_group_access_metadata) | **PUT** /api/portfoliogroups/{scope}/{code}/metadata/{metadataKey} | [EARLY ACCESS] UpsertPortfolioGroupAccessMetadata: Upsert a Portfolio Group Access Metadata entry associated with a specific metadataKey. This creates or updates the data in LUSID.
|
|
536
|
+
*PortfoliosApi* | [**delete_instrument_event_instruction**](docs/PortfoliosApi.md#delete_instrument_event_instruction) | **DELETE** /api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId} | [EARLY ACCESS] DeleteInstrumentEventInstruction: Delete Instrument Event Instruction
|
|
536
537
|
*PortfoliosApi* | [**delete_key_from_portfolio_access_metadata**](docs/PortfoliosApi.md#delete_key_from_portfolio_access_metadata) | **DELETE** /api/portfolios/{scope}/{code}/metadata/{metadataKey} | [EARLY ACCESS] DeleteKeyFromPortfolioAccessMetadata: Delete a Portfolio Access Metadata Rule
|
|
537
538
|
*PortfoliosApi* | [**delete_portfolio**](docs/PortfoliosApi.md#delete_portfolio) | **DELETE** /api/portfolios/{scope}/{code} | DeletePortfolio: Delete portfolio
|
|
538
539
|
*PortfoliosApi* | [**delete_portfolio_properties**](docs/PortfoliosApi.md#delete_portfolio_properties) | **DELETE** /api/portfolios/{scope}/{code}/properties | DeletePortfolioProperties: Delete portfolio properties
|
|
539
540
|
*PortfoliosApi* | [**delete_portfolio_returns**](docs/PortfoliosApi.md#delete_portfolio_returns) | **DELETE** /api/portfolios/{scope}/{code}/returns/{returnScope}/{returnCode}/$delete | [EARLY ACCESS] DeletePortfolioReturns: Delete Returns
|
|
540
541
|
*PortfoliosApi* | [**get_aggregated_returns_dispersion_metrics**](docs/PortfoliosApi.md#get_aggregated_returns_dispersion_metrics) | **POST** /api/portfolios/{scope}/{code}/returns/dispersion/$aggregated | [EARLY ACCESS] GetAggregatedReturnsDispersionMetrics: Get the Aggregated Returns Dispersion metric
|
|
541
542
|
*PortfoliosApi* | [**get_composite_breakdown**](docs/PortfoliosApi.md#get_composite_breakdown) | **POST** /api/portfolios/{scope}/{code}/returns/breakdown | [EARLY ACCESS] GetCompositeBreakdown: Get the Composite Breakdown on how the composite Returns are calculated
|
|
543
|
+
*PortfoliosApi* | [**get_instrument_event_instruction**](docs/PortfoliosApi.md#get_instrument_event_instruction) | **GET** /api/portfolios/{scope}/{code}/instrumenteventinstructions/{instrumentEventInstructionId} | [EARLY ACCESS] GetInstrumentEventInstruction: Get Instrument Event Instruction
|
|
542
544
|
*PortfoliosApi* | [**get_portfolio**](docs/PortfoliosApi.md#get_portfolio) | **GET** /api/portfolios/{scope}/{code} | GetPortfolio: Get portfolio
|
|
543
545
|
*PortfoliosApi* | [**get_portfolio_aggregate_returns**](docs/PortfoliosApi.md#get_portfolio_aggregate_returns) | **GET** /api/portfolios/{scope}/{code}/returns/{returnScope}/{returnCode}/aggregated | [DEPRECATED] GetPortfolioAggregateReturns: Aggregate Returns (This is a deprecated endpoint).
|
|
544
546
|
*PortfoliosApi* | [**get_portfolio_aggregated_returns**](docs/PortfoliosApi.md#get_portfolio_aggregated_returns) | **POST** /api/portfolios/{scope}/{code}/returns/$aggregated | [EARLY ACCESS] GetPortfolioAggregatedReturns: Aggregated Returns
|
|
@@ -556,6 +558,7 @@ Class | Method | HTTP request | Description
|
|
|
556
558
|
*PortfoliosApi* | [**patch_portfolio**](docs/PortfoliosApi.md#patch_portfolio) | **PATCH** /api/portfolios/{scope}/{code} | [EARLY ACCESS] PatchPortfolio: Patch portfolio.
|
|
557
559
|
*PortfoliosApi* | [**patch_portfolio_access_metadata**](docs/PortfoliosApi.md#patch_portfolio_access_metadata) | **PATCH** /api/portfolios/{scope}/{code}/metadata | [EARLY ACCESS] PatchPortfolioAccessMetadata: Patch Access Metadata rules for a Portfolio.
|
|
558
560
|
*PortfoliosApi* | [**update_portfolio**](docs/PortfoliosApi.md#update_portfolio) | **PUT** /api/portfolios/{scope}/{code} | UpdatePortfolio: Update portfolio
|
|
561
|
+
*PortfoliosApi* | [**upsert_instrument_event_instructions**](docs/PortfoliosApi.md#upsert_instrument_event_instructions) | **POST** /api/portfolios/{scope}/{code}/instrumenteventinstructions | [EARLY ACCESS] UpsertInstrumentEventInstructions: Upsert Instrument Event Instructions
|
|
559
562
|
*PortfoliosApi* | [**upsert_portfolio_access_metadata**](docs/PortfoliosApi.md#upsert_portfolio_access_metadata) | **PUT** /api/portfolios/{scope}/{code}/metadata/{metadataKey} | [EARLY ACCESS] UpsertPortfolioAccessMetadata: Upsert a Portfolio Access Metadata Rule associated with specific metadataKey. This creates or updates the data in LUSID.
|
|
560
563
|
*PortfoliosApi* | [**upsert_portfolio_properties**](docs/PortfoliosApi.md#upsert_portfolio_properties) | **POST** /api/portfolios/{scope}/{code}/properties | UpsertPortfolioProperties: Upsert portfolio properties
|
|
561
564
|
*PortfoliosApi* | [**upsert_portfolio_returns**](docs/PortfoliosApi.md#upsert_portfolio_returns) | **POST** /api/portfolios/{scope}/{code}/returns/{returnScope}/{returnCode} | [EARLY ACCESS] UpsertPortfolioReturns: Upsert Returns
|
|
@@ -1107,6 +1110,9 @@ Class | Method | HTTP request | Description
|
|
|
1107
1110
|
- [InstrumentEvent](docs/InstrumentEvent.md)
|
|
1108
1111
|
- [InstrumentEventConfiguration](docs/InstrumentEventConfiguration.md)
|
|
1109
1112
|
- [InstrumentEventHolder](docs/InstrumentEventHolder.md)
|
|
1113
|
+
- [InstrumentEventInstruction](docs/InstrumentEventInstruction.md)
|
|
1114
|
+
- [InstrumentEventInstructionRequest](docs/InstrumentEventInstructionRequest.md)
|
|
1115
|
+
- [InstrumentEventInstructionsResponse](docs/InstrumentEventInstructionsResponse.md)
|
|
1110
1116
|
- [InstrumentEventType](docs/InstrumentEventType.md)
|
|
1111
1117
|
- [InstrumentIdTypeDescriptor](docs/InstrumentIdTypeDescriptor.md)
|
|
1112
1118
|
- [InstrumentIdValue](docs/InstrumentIdValue.md)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
lusid/__init__.py,sha256=
|
|
1
|
+
lusid/__init__.py,sha256=1dSFoT3FllIoodcLFnRFJbNZGUPn3vkgnEQCt5Rg46M,106347
|
|
2
2
|
lusid/api/__init__.py,sha256=nso_7bPeEC07g5iyuaKlm-DEjA39UZFgkwKoPe4lJQY,5488
|
|
3
3
|
lusid/api/abor_api.py,sha256=AvgsHuWE7qRSYJhKveBE2htSjHpqqS0VNJrysAfwME0,159655
|
|
4
4
|
lusid/api/abor_configuration_api.py,sha256=G2bKPtMYOZ2GhUrg-nPJtCa9XIZdZYK7oafcbJWDMP8,64033
|
|
@@ -39,7 +39,7 @@ lusid/api/participations_api.py,sha256=nlVzeyfE33X9Ue9HC9rqCW3WACEPKBvcrEjFEmT8w
|
|
|
39
39
|
lusid/api/persons_api.py,sha256=0ZUZykUD46ow8j6sXjqaxCTylzUkssOyimAxCoDMUb4,247306
|
|
40
40
|
lusid/api/placements_api.py,sha256=bsX7VHZlvnxJiZ3ZPtlJ8md_exerU-Qa_BkHGVRphH8,45797
|
|
41
41
|
lusid/api/portfolio_groups_api.py,sha256=GkR-rjb4khpRsT_3rTkQnWx8z9dczaT2UxYda7xZyCA,378953
|
|
42
|
-
lusid/api/portfolios_api.py,sha256=
|
|
42
|
+
lusid/api/portfolios_api.py,sha256=5NL3-HPP7FyZd3mODdVVzAZjsmL2Udh96QdWlr5nIrg,403923
|
|
43
43
|
lusid/api/property_definitions_api.py,sha256=Z2HQywmPS1T5DGOCr4BEWX2QmUVhuqLnQSEa4hZZwxo,140397
|
|
44
44
|
lusid/api/queryable_keys_api.py,sha256=1HafmN22bU1bV5H5nua8EZ5oL0pe0LZ5xkVDQTDSezg,10281
|
|
45
45
|
lusid/api/quotes_api.py,sha256=Lmb8CSqm7wytZcARzahdB2eBwxkCqrjvzpIKK-H6w34,115625
|
|
@@ -55,7 +55,7 @@ lusid/api/scopes_api.py,sha256=p8OnCyJtsYrM0I-jzmHfhMJKAXzWkl52LtGVQw5DMtc,16390
|
|
|
55
55
|
lusid/api/scripted_translation_api.py,sha256=jOeKhCjDpq3M1FU9mAH-2sbW_O3NhVuirKPtJrDbEgo,84048
|
|
56
56
|
lusid/api/search_api.py,sha256=Y6wgyv5H6EDEICDYERU_jXdAFmr0GPEe8r2BnM0KzXI,58533
|
|
57
57
|
lusid/api/sequences_api.py,sha256=NUACzaG_zcloEMFwuIxI2c2MiQNmkBULUq7qeNvZ0GQ,37460
|
|
58
|
-
lusid/api/staged_modifications_api.py,sha256=
|
|
58
|
+
lusid/api/staged_modifications_api.py,sha256=O1DexPywa_Y5e8kUOU5yWE4YxCZPq2czEWWlsPcaFrA,48685
|
|
59
59
|
lusid/api/staging_rule_set_api.py,sha256=9KCTPEZsTtVeKNN9tcEuSICwWQG3z9aHd1aKY4EZsys,49946
|
|
60
60
|
lusid/api/structured_result_data_api.py,sha256=wD8NaDLKu2PrTm0mu3ZTvit8o1GtVNmwI11kPwojEEY,112489
|
|
61
61
|
lusid/api/system_configuration_api.py,sha256=aOgevINKgf3CDjXN4cW6R-eoTYfvz8me_wVHOWtqTLY,62054
|
|
@@ -66,7 +66,7 @@ lusid/api/transaction_portfolios_api.py,sha256=q6AoYasxV3LQDossmM2BdJSo3arh526yU
|
|
|
66
66
|
lusid/api/translation_api.py,sha256=xTAaKEW96JTDIZBXCjxSguCa7Gz4oVd5jdObUE2egwo,20092
|
|
67
67
|
lusid/api_client.py,sha256=dF6l9RAsdxdQjf6Qn4ny6LB-QXlJmsscWiozCvyyBFA,30709
|
|
68
68
|
lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
|
|
69
|
-
lusid/configuration.py,sha256=
|
|
69
|
+
lusid/configuration.py,sha256=ZNoZDxkEKHXHiv5xhFS1zg1DS6CIdamMC9ALl_Qq6G0,14404
|
|
70
70
|
lusid/exceptions.py,sha256=HIQwgmQrszLlcVCLaqex8dO0laVuejUyOMz7U2ZWJ6s,5326
|
|
71
71
|
lusid/extensions/__init__.py,sha256=DeUuQP7yTcklJH7LT-bw9wQhKEggcs1KwQbPbFcOlhw,560
|
|
72
72
|
lusid/extensions/api_client.py,sha256=Ob06urm4Em3MLzgP_geyeeGsPCkU225msW_1kpIeABM,30567
|
|
@@ -79,7 +79,7 @@ lusid/extensions/rest.py,sha256=tjVCu-cRrYcjp-ttB975vebPKtBNyBWaeoAdO3QXG2I,1269
|
|
|
79
79
|
lusid/extensions/retry.py,sha256=orBJ1uF1iT1IncjWX1iGHVqsCgTh0SBe9rtiV_sPnwk,11564
|
|
80
80
|
lusid/extensions/socket_keep_alive.py,sha256=NGlqsv-E25IjJOLGZhXZY6kUdx51nEF8qCQyVdzayRk,1653
|
|
81
81
|
lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
|
|
82
|
-
lusid/models/__init__.py,sha256=
|
|
82
|
+
lusid/models/__init__.py,sha256=gQY8AIc0XyWZUQsvUvXGD5cYYgAQ8AJU-WNXChh1bPQ,99902
|
|
83
83
|
lusid/models/a2_b_breakdown.py,sha256=Txi12EIQw3mH6NM-25QkOnHSQc3BVAWrP7yl9bZswSY,2947
|
|
84
84
|
lusid/models/a2_b_category.py,sha256=k6NPAACi0CUjKyhdQac4obQSrPmp2PXD6lkAtCnyEFM,2725
|
|
85
85
|
lusid/models/a2_b_data_record.py,sha256=zKGS2P4fzNpzdcGJiSIpkY4P3d_jAcawYfyuPCDeQgk,9737
|
|
@@ -462,6 +462,9 @@ lusid/models/instrument_delete_modes.py,sha256=pRnKhwXly5wA6KEnvvphzEBS6ThT-iuuh
|
|
|
462
462
|
lusid/models/instrument_event.py,sha256=ZlOP2c75Jp_bsYrD5_Ac9z5gnEZvXkmbAT22gMwwgt4,6848
|
|
463
463
|
lusid/models/instrument_event_configuration.py,sha256=KUMoeahiegPFRIMhitVHGYTkBNv9i2eWREigqdTxgqs,2784
|
|
464
464
|
lusid/models/instrument_event_holder.py,sha256=kbrQ_yd4X9THZo4oLdvB3HeUwJSmeVpOoIOBUy1o7fs,6994
|
|
465
|
+
lusid/models/instrument_event_instruction.py,sha256=euUiqidTQl6Il7KsKvjGs0u1BmaJ8zBpnNWMSXzQ3GY,5464
|
|
466
|
+
lusid/models/instrument_event_instruction_request.py,sha256=uDTvxy3TrTjrLCBl5G-zDEBWuSRYwtXJ_Bzys3NyuH0,3639
|
|
467
|
+
lusid/models/instrument_event_instructions_response.py,sha256=Wr4XI1bNMijF7h1COCze7QXUCbl-nc8fQ3ZTNFGZFGE,3984
|
|
465
468
|
lusid/models/instrument_event_type.py,sha256=0awnBEQSfnGmwosTh2wS-Q4YqoIWgJtLwOVNC3L5nS4,1698
|
|
466
469
|
lusid/models/instrument_id_type_descriptor.py,sha256=0p18FCVnh60RF3LiLPOsDgbqAyeGJPn_UETTaII0Dx4,2569
|
|
467
470
|
lusid/models/instrument_id_value.py,sha256=wWr4npSEr_hpTWDjFf8WhALa4o0NFNPmNKpuxY1S6PI,2220
|
|
@@ -1011,7 +1014,7 @@ lusid/models/value_type.py,sha256=jHK4tNBGG6VZsoUobxgcuY59JiMYF7YVSqu_tyYyL8U,12
|
|
|
1011
1014
|
lusid/models/vendor_dependency.py,sha256=aoSaZxqR2Sa-oE9DAggXJMoXqnPsej_v1lcmOuwqmsM,4307
|
|
1012
1015
|
lusid/models/vendor_library.py,sha256=Fx8zktN5UuefXUGb27Pgw-N3grsyVMvjOs_3Lw_S4Ow,812
|
|
1013
1016
|
lusid/models/vendor_model_rule.py,sha256=lsuNCUYeK86M2S2iJdkTkFzqFBqFOpIutIuV40X9Nlo,6263
|
|
1014
|
-
lusid/models/version.py,sha256=
|
|
1017
|
+
lusid/models/version.py,sha256=yNxWf0znwc5rhxudpQrMZsvOnXLq-4hxm_SeN2PlGno,6728
|
|
1015
1018
|
lusid/models/version_summary_dto.py,sha256=EjzyYugLxgsO8_myJU-egpQhRKdYD8AIljKRE2hZh14,3584
|
|
1016
1019
|
lusid/models/versioned_resource_list_of_a2_b_data_record.py,sha256=3X4yY5NWFUONWvWDFU4y6xne9BTmYIzI4Mh31_Cb0QY,4522
|
|
1017
1020
|
lusid/models/versioned_resource_list_of_a2_b_movement_record.py,sha256=rTddKkdkTeYGLNi00LwFiyva2i_ayLiNQ3-flIhdj8I,4570
|
|
@@ -1033,6 +1036,6 @@ lusid/models/weighted_instruments.py,sha256=1y_y_vw4-LPsbkQx4FOzWdZc5fJnzhVkf1D3
|
|
|
1033
1036
|
lusid/models/yield_curve_data.py,sha256=SbxvdJ4-GWK9kpMdw4Fnxc7_kvIMwgsRsd_31UJn7nw,6330
|
|
1034
1037
|
lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1035
1038
|
lusid/rest.py,sha256=TNUzQ3yLNT2L053EdR7R0vNzQh2J3TlYD1T56Dye0W0,10138
|
|
1036
|
-
lusid_sdk-2.1.
|
|
1037
|
-
lusid_sdk-2.1.
|
|
1038
|
-
lusid_sdk-2.1.
|
|
1039
|
+
lusid_sdk-2.1.95.dist-info/METADATA,sha256=p_eoTP_1k33qnlwUKH8FTEd7v4XWDAbo5Zavy7rhckU,183336
|
|
1040
|
+
lusid_sdk-2.1.95.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
1041
|
+
lusid_sdk-2.1.95.dist-info/RECORD,,
|
|
File without changes
|