lusid-sdk 2.1.405__py3-none-any.whl → 2.1.414__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.
- lusid/__init__.py +4 -4
- lusid/api/abor_api.py +8 -16
- lusid/api/entities_api.py +180 -0
- lusid/api/group_reconciliations_api.py +160 -0
- lusid/api/portfolios_api.py +25 -28
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +4 -4
- lusid/models/access_metadata_value.py +1 -1
- lusid/models/batch_upsert_portfolio_access_metadata_request.py +27 -17
- lusid/models/batch_upsert_portfolio_access_metadata_response.py +56 -16
- lusid/models/{metadata_key_value.py → batch_upsert_portfolio_access_metadata_response_item.py} +15 -9
- lusid/models/custom_entity_entity.py +146 -0
- lusid/models/diary_entry_request.py +10 -1
- lusid/models/flow_conventions.py +7 -1
- lusid/models/group_reconciliation_aggregate_attribute_rule.py +2 -2
- lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +1 -1
- lusid/models/group_reconciliation_core_comparison_rule_operand.py +1 -1
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.414.dist-info}/METADATA +7 -5
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.414.dist-info}/RECORD +20 -20
- lusid/models/metadata_key_value_response.py +0 -86
- {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.414.dist-info}/WHEEL +0 -0
lusid/__init__.py
CHANGED
@@ -161,6 +161,7 @@ from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsRespo
|
|
161
161
|
from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
|
162
162
|
from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
|
163
163
|
from lusid.models.batch_upsert_portfolio_access_metadata_response import BatchUpsertPortfolioAccessMetadataResponse
|
164
|
+
from lusid.models.batch_upsert_portfolio_access_metadata_response_item import BatchUpsertPortfolioAccessMetadataResponseItem
|
164
165
|
from lusid.models.batch_upsert_portfolio_transactions_response import BatchUpsertPortfolioTransactionsResponse
|
165
166
|
from lusid.models.batch_upsert_property_definition_properties_response import BatchUpsertPropertyDefinitionPropertiesResponse
|
166
167
|
from lusid.models.block import Block
|
@@ -330,6 +331,7 @@ from lusid.models.custodian_account_request import CustodianAccountRequest
|
|
330
331
|
from lusid.models.custodian_accounts_upsert_response import CustodianAccountsUpsertResponse
|
331
332
|
from lusid.models.custom_entity_definition import CustomEntityDefinition
|
332
333
|
from lusid.models.custom_entity_definition_request import CustomEntityDefinitionRequest
|
334
|
+
from lusid.models.custom_entity_entity import CustomEntityEntity
|
333
335
|
from lusid.models.custom_entity_field import CustomEntityField
|
334
336
|
from lusid.models.custom_entity_field_definition import CustomEntityFieldDefinition
|
335
337
|
from lusid.models.custom_entity_id import CustomEntityId
|
@@ -600,8 +602,6 @@ from lusid.models.market_quote import MarketQuote
|
|
600
602
|
from lusid.models.match_criterion import MatchCriterion
|
601
603
|
from lusid.models.maturity_event import MaturityEvent
|
602
604
|
from lusid.models.merger_event import MergerEvent
|
603
|
-
from lusid.models.metadata_key_value import MetadataKeyValue
|
604
|
-
from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
|
605
605
|
from lusid.models.metric_value import MetricValue
|
606
606
|
from lusid.models.model_options import ModelOptions
|
607
607
|
from lusid.models.model_options_type import ModelOptionsType
|
@@ -1311,6 +1311,7 @@ __all__ = [
|
|
1311
1311
|
"BatchUpsertInstrumentPropertiesResponse",
|
1312
1312
|
"BatchUpsertPortfolioAccessMetadataRequest",
|
1313
1313
|
"BatchUpsertPortfolioAccessMetadataResponse",
|
1314
|
+
"BatchUpsertPortfolioAccessMetadataResponseItem",
|
1314
1315
|
"BatchUpsertPortfolioTransactionsResponse",
|
1315
1316
|
"BatchUpsertPropertyDefinitionPropertiesResponse",
|
1316
1317
|
"Block",
|
@@ -1480,6 +1481,7 @@ __all__ = [
|
|
1480
1481
|
"CustodianAccountsUpsertResponse",
|
1481
1482
|
"CustomEntityDefinition",
|
1482
1483
|
"CustomEntityDefinitionRequest",
|
1484
|
+
"CustomEntityEntity",
|
1483
1485
|
"CustomEntityField",
|
1484
1486
|
"CustomEntityFieldDefinition",
|
1485
1487
|
"CustomEntityId",
|
@@ -1750,8 +1752,6 @@ __all__ = [
|
|
1750
1752
|
"MatchCriterion",
|
1751
1753
|
"MaturityEvent",
|
1752
1754
|
"MergerEvent",
|
1753
|
-
"MetadataKeyValue",
|
1754
|
-
"MetadataKeyValueResponse",
|
1755
1755
|
"MetricValue",
|
1756
1756
|
"ModelOptions",
|
1757
1757
|
"ModelOptionsType",
|
lusid/api/abor_api.py
CHANGED
@@ -66,30 +66,28 @@ class AborApi:
|
|
66
66
|
self.api_client = api_client
|
67
67
|
|
68
68
|
@overload
|
69
|
-
async def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")],
|
69
|
+
async def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")], diary_entry_request : Annotated[DiaryEntryRequest, Field(..., description="The diary entry to add.")], **kwargs) -> DiaryEntry: # noqa: E501
|
70
70
|
...
|
71
71
|
|
72
72
|
@overload
|
73
|
-
def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")],
|
73
|
+
def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")], diary_entry_request : Annotated[DiaryEntryRequest, Field(..., description="The diary entry to add.")], async_req: Optional[bool]=True, **kwargs) -> DiaryEntry: # noqa: E501
|
74
74
|
...
|
75
75
|
|
76
76
|
@validate_arguments
|
77
|
-
def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")],
|
77
|
+
def add_diary_entry(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")], diary_entry_request : Annotated[DiaryEntryRequest, Field(..., description="The diary entry to add.")], async_req: Optional[bool]=None, **kwargs) -> Union[DiaryEntry, Awaitable[DiaryEntry]]: # noqa: E501
|
78
78
|
"""[EXPERIMENTAL] AddDiaryEntry: Add a diary entry to the specified Abor. # noqa: E501
|
79
79
|
|
80
80
|
Adds a new diary entry to the specified Abor # noqa: E501
|
81
81
|
This method makes a synchronous HTTP request by default. To make an
|
82
82
|
asynchronous HTTP request, please pass async_req=True
|
83
83
|
|
84
|
-
>>> thread = api.add_diary_entry(scope, code,
|
84
|
+
>>> thread = api.add_diary_entry(scope, code, diary_entry_request, async_req=True)
|
85
85
|
>>> result = thread.get()
|
86
86
|
|
87
87
|
:param scope: The scope of the Abor. (required)
|
88
88
|
:type scope: str
|
89
89
|
:param code: The code of the Abor. (required)
|
90
90
|
:type code: str
|
91
|
-
:param diary_entry_code: Diary entry code (required)
|
92
|
-
:type diary_entry_code: str
|
93
91
|
:param diary_entry_request: The diary entry to add. (required)
|
94
92
|
:type diary_entry_request: DiaryEntryRequest
|
95
93
|
:param async_req: Whether to execute the request asynchronously.
|
@@ -109,25 +107,23 @@ class AborApi:
|
|
109
107
|
raise ValueError(message)
|
110
108
|
if async_req is not None:
|
111
109
|
kwargs['async_req'] = async_req
|
112
|
-
return self.add_diary_entry_with_http_info(scope, code,
|
110
|
+
return self.add_diary_entry_with_http_info(scope, code, diary_entry_request, **kwargs) # noqa: E501
|
113
111
|
|
114
112
|
@validate_arguments
|
115
|
-
def add_diary_entry_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")],
|
113
|
+
def add_diary_entry_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Abor.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Abor.")], diary_entry_request : Annotated[DiaryEntryRequest, Field(..., description="The diary entry to add.")], **kwargs) -> ApiResponse: # noqa: E501
|
116
114
|
"""[EXPERIMENTAL] AddDiaryEntry: Add a diary entry to the specified Abor. # noqa: E501
|
117
115
|
|
118
116
|
Adds a new diary entry to the specified Abor # noqa: E501
|
119
117
|
This method makes a synchronous HTTP request by default. To make an
|
120
118
|
asynchronous HTTP request, please pass async_req=True
|
121
119
|
|
122
|
-
>>> thread = api.add_diary_entry_with_http_info(scope, code,
|
120
|
+
>>> thread = api.add_diary_entry_with_http_info(scope, code, diary_entry_request, async_req=True)
|
123
121
|
>>> result = thread.get()
|
124
122
|
|
125
123
|
:param scope: The scope of the Abor. (required)
|
126
124
|
:type scope: str
|
127
125
|
:param code: The code of the Abor. (required)
|
128
126
|
:type code: str
|
129
|
-
:param diary_entry_code: Diary entry code (required)
|
130
|
-
:type diary_entry_code: str
|
131
127
|
:param diary_entry_request: The diary entry to add. (required)
|
132
128
|
:type diary_entry_request: DiaryEntryRequest
|
133
129
|
:param async_req: Whether to execute the request asynchronously.
|
@@ -160,7 +156,6 @@ class AborApi:
|
|
160
156
|
_all_params = [
|
161
157
|
'scope',
|
162
158
|
'code',
|
163
|
-
'diary_entry_code',
|
164
159
|
'diary_entry_request'
|
165
160
|
]
|
166
161
|
_all_params.extend(
|
@@ -195,9 +190,6 @@ class AborApi:
|
|
195
190
|
if _params['code']:
|
196
191
|
_path_params['code'] = _params['code']
|
197
192
|
|
198
|
-
if _params['diary_entry_code']:
|
199
|
-
_path_params['diaryEntryCode'] = _params['diary_entry_code']
|
200
|
-
|
201
193
|
|
202
194
|
# process the query parameters
|
203
195
|
_query_params = []
|
@@ -231,7 +223,7 @@ class AborApi:
|
|
231
223
|
}
|
232
224
|
|
233
225
|
return self.api_client.call_api(
|
234
|
-
'/api/abor/{scope}/{code}/accountingdiary
|
226
|
+
'/api/abor/{scope}/{code}/accountingdiary', 'POST',
|
235
227
|
_path_params,
|
236
228
|
_query_params,
|
237
229
|
_header_params,
|
lusid/api/entities_api.py
CHANGED
@@ -26,6 +26,7 @@ from pydantic.v1 import Field, StrictStr, conlist, constr, validator
|
|
26
26
|
|
27
27
|
from typing import Optional
|
28
28
|
|
29
|
+
from lusid.models.custom_entity_entity import CustomEntityEntity
|
29
30
|
from lusid.models.data_type_entity import DataTypeEntity
|
30
31
|
from lusid.models.instrument_entity import InstrumentEntity
|
31
32
|
from lusid.models.portfolio_entity import PortfolioEntity
|
@@ -52,6 +53,185 @@ class EntitiesApi:
|
|
52
53
|
api_client = ApiClient.get_default()
|
53
54
|
self.api_client = api_client
|
54
55
|
|
56
|
+
@overload
|
57
|
+
async def get_custom_entity_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the Custom Entity.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Custom Entity. 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 Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> CustomEntityEntity: # noqa: E501
|
58
|
+
...
|
59
|
+
|
60
|
+
@overload
|
61
|
+
def get_custom_entity_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the Custom Entity.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Custom Entity. 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 Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=True, **kwargs) -> CustomEntityEntity: # noqa: E501
|
62
|
+
...
|
63
|
+
|
64
|
+
@validate_arguments
|
65
|
+
def get_custom_entity_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the Custom Entity.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Custom Entity. 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 Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[CustomEntityEntity, Awaitable[CustomEntityEntity]]: # noqa: E501
|
66
|
+
"""[EXPERIMENTAL] GetCustomEntityByEntityUniqueId: Get a Custom Entity instance by its EntityUniqueId # noqa: E501
|
67
|
+
|
68
|
+
Retrieve a particular Custom Entity instance. If the Custom Entity is deleted, this will return the state of the Custom Entity immediately prior to deletion. # noqa: E501
|
69
|
+
This method makes a synchronous HTTP request by default. To make an
|
70
|
+
asynchronous HTTP request, please pass async_req=True
|
71
|
+
|
72
|
+
>>> thread = api.get_custom_entity_by_entity_unique_id(entity_unique_id, effective_at, as_at, previews, async_req=True)
|
73
|
+
>>> result = thread.get()
|
74
|
+
|
75
|
+
:param entity_unique_id: The universally unique identifier of the Custom Entity. (required)
|
76
|
+
:type entity_unique_id: str
|
77
|
+
:param effective_at: The effective datetime or cut label at which to retrieve the Custom Entity. Defaults to the current LUSID system datetime if not specified.
|
78
|
+
:type effective_at: str
|
79
|
+
:param as_at: The asAt datetime at which to retrieve the Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.
|
80
|
+
:type as_at: datetime
|
81
|
+
:param previews: The ids of the staged modifications to be previewed in the response.
|
82
|
+
:type previews: List[str]
|
83
|
+
:param async_req: Whether to execute the request asynchronously.
|
84
|
+
:type async_req: bool, optional
|
85
|
+
:param _request_timeout: timeout setting for this request.
|
86
|
+
If one number provided, it will be total request
|
87
|
+
timeout. It can also be a pair (tuple) of
|
88
|
+
(connection, read) timeouts.
|
89
|
+
:return: Returns the result object.
|
90
|
+
If the method is called asynchronously,
|
91
|
+
returns the request thread.
|
92
|
+
:rtype: CustomEntityEntity
|
93
|
+
"""
|
94
|
+
kwargs['_return_http_data_only'] = True
|
95
|
+
if '_preload_content' in kwargs:
|
96
|
+
message = "Error! Please call the get_custom_entity_by_entity_unique_id_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
97
|
+
raise ValueError(message)
|
98
|
+
if async_req is not None:
|
99
|
+
kwargs['async_req'] = async_req
|
100
|
+
return self.get_custom_entity_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, **kwargs) # noqa: E501
|
101
|
+
|
102
|
+
@validate_arguments
|
103
|
+
def get_custom_entity_by_entity_unique_id_with_http_info(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the Custom Entity.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the Custom Entity. 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 Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> ApiResponse: # noqa: E501
|
104
|
+
"""[EXPERIMENTAL] GetCustomEntityByEntityUniqueId: Get a Custom Entity instance by its EntityUniqueId # noqa: E501
|
105
|
+
|
106
|
+
Retrieve a particular Custom Entity instance. If the Custom Entity is deleted, this will return the state of the Custom Entity immediately prior to deletion. # noqa: E501
|
107
|
+
This method makes a synchronous HTTP request by default. To make an
|
108
|
+
asynchronous HTTP request, please pass async_req=True
|
109
|
+
|
110
|
+
>>> thread = api.get_custom_entity_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, async_req=True)
|
111
|
+
>>> result = thread.get()
|
112
|
+
|
113
|
+
:param entity_unique_id: The universally unique identifier of the Custom Entity. (required)
|
114
|
+
:type entity_unique_id: str
|
115
|
+
:param effective_at: The effective datetime or cut label at which to retrieve the Custom Entity. Defaults to the current LUSID system datetime if not specified.
|
116
|
+
:type effective_at: str
|
117
|
+
:param as_at: The asAt datetime at which to retrieve the Custom Entity. Defaults to returning the latest version of the Custom Entity if not specified.
|
118
|
+
:type as_at: datetime
|
119
|
+
:param previews: The ids of the staged modifications to be previewed in the response.
|
120
|
+
:type previews: List[str]
|
121
|
+
:param async_req: Whether to execute the request asynchronously.
|
122
|
+
:type async_req: bool, optional
|
123
|
+
:param _preload_content: if False, the ApiResponse.data will
|
124
|
+
be set to none and raw_data will store the
|
125
|
+
HTTP response body without reading/decoding.
|
126
|
+
Default is True.
|
127
|
+
:type _preload_content: bool, optional
|
128
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
129
|
+
object with status code, headers, etc
|
130
|
+
:type _return_http_data_only: bool, optional
|
131
|
+
:param _request_timeout: timeout setting for this request. If one
|
132
|
+
number provided, it will be total request
|
133
|
+
timeout. It can also be a pair (tuple) of
|
134
|
+
(connection, read) timeouts.
|
135
|
+
:param _request_auth: set to override the auth_settings for an a single
|
136
|
+
request; this effectively ignores the authentication
|
137
|
+
in the spec for a single request.
|
138
|
+
:type _request_auth: dict, optional
|
139
|
+
:type _content_type: string, optional: force content-type for the request
|
140
|
+
:return: Returns the result object.
|
141
|
+
If the method is called asynchronously,
|
142
|
+
returns the request thread.
|
143
|
+
:rtype: tuple(CustomEntityEntity, status_code(int), headers(HTTPHeaderDict))
|
144
|
+
"""
|
145
|
+
|
146
|
+
_params = locals()
|
147
|
+
|
148
|
+
_all_params = [
|
149
|
+
'entity_unique_id',
|
150
|
+
'effective_at',
|
151
|
+
'as_at',
|
152
|
+
'previews'
|
153
|
+
]
|
154
|
+
_all_params.extend(
|
155
|
+
[
|
156
|
+
'async_req',
|
157
|
+
'_return_http_data_only',
|
158
|
+
'_preload_content',
|
159
|
+
'_request_timeout',
|
160
|
+
'_request_auth',
|
161
|
+
'_content_type',
|
162
|
+
'_headers'
|
163
|
+
]
|
164
|
+
)
|
165
|
+
|
166
|
+
# validate the arguments
|
167
|
+
for _key, _val in _params['kwargs'].items():
|
168
|
+
if _key not in _all_params:
|
169
|
+
raise ApiTypeError(
|
170
|
+
"Got an unexpected keyword argument '%s'"
|
171
|
+
" to method get_custom_entity_by_entity_unique_id" % _key
|
172
|
+
)
|
173
|
+
_params[_key] = _val
|
174
|
+
del _params['kwargs']
|
175
|
+
|
176
|
+
_collection_formats = {}
|
177
|
+
|
178
|
+
# process the path parameters
|
179
|
+
_path_params = {}
|
180
|
+
if _params['entity_unique_id']:
|
181
|
+
_path_params['entityUniqueId'] = _params['entity_unique_id']
|
182
|
+
|
183
|
+
|
184
|
+
# process the query parameters
|
185
|
+
_query_params = []
|
186
|
+
if _params.get('effective_at') is not None: # noqa: E501
|
187
|
+
_query_params.append(('effectiveAt', _params['effective_at']))
|
188
|
+
|
189
|
+
if _params.get('as_at') is not None: # noqa: E501
|
190
|
+
if isinstance(_params['as_at'], datetime):
|
191
|
+
_query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
|
192
|
+
else:
|
193
|
+
_query_params.append(('asAt', _params['as_at']))
|
194
|
+
|
195
|
+
if _params.get('previews') is not None: # noqa: E501
|
196
|
+
_query_params.append(('previews', _params['previews']))
|
197
|
+
_collection_formats['previews'] = 'multi'
|
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
|
+
# set the HTTP header `Accept`
|
207
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
208
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
209
|
+
|
210
|
+
# authentication setting
|
211
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
212
|
+
|
213
|
+
_response_types_map = {
|
214
|
+
'200': "CustomEntityEntity",
|
215
|
+
'400': "LusidValidationProblemDetails",
|
216
|
+
}
|
217
|
+
|
218
|
+
return self.api_client.call_api(
|
219
|
+
'/api/entities/customentities/{entityUniqueId}', 'GET',
|
220
|
+
_path_params,
|
221
|
+
_query_params,
|
222
|
+
_header_params,
|
223
|
+
body=_body_params,
|
224
|
+
post_params=_form_params,
|
225
|
+
files=_files,
|
226
|
+
response_types_map=_response_types_map,
|
227
|
+
auth_settings=_auth_settings,
|
228
|
+
async_req=_params.get('async_req'),
|
229
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
230
|
+
_preload_content=_params.get('_preload_content', True),
|
231
|
+
_request_timeout=_params.get('_request_timeout'),
|
232
|
+
collection_formats=_collection_formats,
|
233
|
+
_request_auth=_params.get('_request_auth'))
|
234
|
+
|
55
235
|
@overload
|
56
236
|
async def get_data_type_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the DataType definition.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the DataType definition. Defaults to returning the latest version of the DataType definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> DataTypeEntity: # noqa: E501
|
57
237
|
...
|
@@ -27,6 +27,7 @@ from pydantic.v1 import Field, constr, validator
|
|
27
27
|
from typing import Optional
|
28
28
|
|
29
29
|
from lusid.models.create_group_reconciliation_comparison_ruleset_request import CreateGroupReconciliationComparisonRulesetRequest
|
30
|
+
from lusid.models.deleted_entity_response import DeletedEntityResponse
|
30
31
|
from lusid.models.group_reconciliation_comparison_ruleset import GroupReconciliationComparisonRuleset
|
31
32
|
|
32
33
|
from lusid.api_client import ApiClient
|
@@ -207,6 +208,165 @@ class GroupReconciliationsApi:
|
|
207
208
|
collection_formats=_collection_formats,
|
208
209
|
_request_auth=_params.get('_request_auth'))
|
209
210
|
|
211
|
+
@overload
|
212
|
+
async def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
|
213
|
+
...
|
214
|
+
|
215
|
+
@overload
|
216
|
+
def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
|
217
|
+
...
|
218
|
+
|
219
|
+
@validate_arguments
|
220
|
+
def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
|
221
|
+
"""[EXPERIMENTAL] DeleteComparisonRuleset: Deletes a particular Group Reconciliation Comparison Ruleset # noqa: E501
|
222
|
+
|
223
|
+
The deletion will take effect from the reconciliation comparison ruleset deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
|
224
|
+
This method makes a synchronous HTTP request by default. To make an
|
225
|
+
asynchronous HTTP request, please pass async_req=True
|
226
|
+
|
227
|
+
>>> thread = api.delete_comparison_ruleset(scope, code, async_req=True)
|
228
|
+
>>> result = thread.get()
|
229
|
+
|
230
|
+
:param scope: The scope of the specified comparison ruleset. (required)
|
231
|
+
:type scope: str
|
232
|
+
:param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
|
233
|
+
:type code: str
|
234
|
+
:param async_req: Whether to execute the request asynchronously.
|
235
|
+
:type async_req: bool, optional
|
236
|
+
:param _request_timeout: timeout setting for this request.
|
237
|
+
If one number provided, it will be total request
|
238
|
+
timeout. It can also be a pair (tuple) of
|
239
|
+
(connection, read) timeouts.
|
240
|
+
:return: Returns the result object.
|
241
|
+
If the method is called asynchronously,
|
242
|
+
returns the request thread.
|
243
|
+
:rtype: DeletedEntityResponse
|
244
|
+
"""
|
245
|
+
kwargs['_return_http_data_only'] = True
|
246
|
+
if '_preload_content' in kwargs:
|
247
|
+
message = "Error! Please call the delete_comparison_ruleset_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
|
248
|
+
raise ValueError(message)
|
249
|
+
if async_req is not None:
|
250
|
+
kwargs['async_req'] = async_req
|
251
|
+
return self.delete_comparison_ruleset_with_http_info(scope, code, **kwargs) # noqa: E501
|
252
|
+
|
253
|
+
@validate_arguments
|
254
|
+
def delete_comparison_ruleset_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], **kwargs) -> ApiResponse: # noqa: E501
|
255
|
+
"""[EXPERIMENTAL] DeleteComparisonRuleset: Deletes a particular Group Reconciliation Comparison Ruleset # noqa: E501
|
256
|
+
|
257
|
+
The deletion will take effect from the reconciliation comparison ruleset deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
|
258
|
+
This method makes a synchronous HTTP request by default. To make an
|
259
|
+
asynchronous HTTP request, please pass async_req=True
|
260
|
+
|
261
|
+
>>> thread = api.delete_comparison_ruleset_with_http_info(scope, code, async_req=True)
|
262
|
+
>>> result = thread.get()
|
263
|
+
|
264
|
+
:param scope: The scope of the specified comparison ruleset. (required)
|
265
|
+
:type scope: str
|
266
|
+
:param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
|
267
|
+
:type code: str
|
268
|
+
:param async_req: Whether to execute the request asynchronously.
|
269
|
+
:type async_req: bool, optional
|
270
|
+
:param _preload_content: if False, the ApiResponse.data will
|
271
|
+
be set to none and raw_data will store the
|
272
|
+
HTTP response body without reading/decoding.
|
273
|
+
Default is True.
|
274
|
+
:type _preload_content: bool, optional
|
275
|
+
:param _return_http_data_only: response data instead of ApiResponse
|
276
|
+
object with status code, headers, etc
|
277
|
+
:type _return_http_data_only: bool, optional
|
278
|
+
:param _request_timeout: timeout setting for this request. If one
|
279
|
+
number provided, it will be total request
|
280
|
+
timeout. It can also be a pair (tuple) of
|
281
|
+
(connection, read) timeouts.
|
282
|
+
:param _request_auth: set to override the auth_settings for an a single
|
283
|
+
request; this effectively ignores the authentication
|
284
|
+
in the spec for a single request.
|
285
|
+
:type _request_auth: dict, optional
|
286
|
+
:type _content_type: string, optional: force content-type for the request
|
287
|
+
:return: Returns the result object.
|
288
|
+
If the method is called asynchronously,
|
289
|
+
returns the request thread.
|
290
|
+
:rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
|
291
|
+
"""
|
292
|
+
|
293
|
+
_params = locals()
|
294
|
+
|
295
|
+
_all_params = [
|
296
|
+
'scope',
|
297
|
+
'code'
|
298
|
+
]
|
299
|
+
_all_params.extend(
|
300
|
+
[
|
301
|
+
'async_req',
|
302
|
+
'_return_http_data_only',
|
303
|
+
'_preload_content',
|
304
|
+
'_request_timeout',
|
305
|
+
'_request_auth',
|
306
|
+
'_content_type',
|
307
|
+
'_headers'
|
308
|
+
]
|
309
|
+
)
|
310
|
+
|
311
|
+
# validate the arguments
|
312
|
+
for _key, _val in _params['kwargs'].items():
|
313
|
+
if _key not in _all_params:
|
314
|
+
raise ApiTypeError(
|
315
|
+
"Got an unexpected keyword argument '%s'"
|
316
|
+
" to method delete_comparison_ruleset" % _key
|
317
|
+
)
|
318
|
+
_params[_key] = _val
|
319
|
+
del _params['kwargs']
|
320
|
+
|
321
|
+
_collection_formats = {}
|
322
|
+
|
323
|
+
# process the path parameters
|
324
|
+
_path_params = {}
|
325
|
+
if _params['scope']:
|
326
|
+
_path_params['scope'] = _params['scope']
|
327
|
+
|
328
|
+
if _params['code']:
|
329
|
+
_path_params['code'] = _params['code']
|
330
|
+
|
331
|
+
|
332
|
+
# process the query parameters
|
333
|
+
_query_params = []
|
334
|
+
# process the header parameters
|
335
|
+
_header_params = dict(_params.get('_headers', {}))
|
336
|
+
# process the form parameters
|
337
|
+
_form_params = []
|
338
|
+
_files = {}
|
339
|
+
# process the body parameter
|
340
|
+
_body_params = None
|
341
|
+
# set the HTTP header `Accept`
|
342
|
+
_header_params['Accept'] = self.api_client.select_header_accept(
|
343
|
+
['text/plain', 'application/json', 'text/json']) # noqa: E501
|
344
|
+
|
345
|
+
# authentication setting
|
346
|
+
_auth_settings = ['oauth2'] # noqa: E501
|
347
|
+
|
348
|
+
_response_types_map = {
|
349
|
+
'200': "DeletedEntityResponse",
|
350
|
+
'400': "LusidValidationProblemDetails",
|
351
|
+
}
|
352
|
+
|
353
|
+
return self.api_client.call_api(
|
354
|
+
'/api/reconciliations/comparisonrulesets/{scope}/{code}', 'DELETE',
|
355
|
+
_path_params,
|
356
|
+
_query_params,
|
357
|
+
_header_params,
|
358
|
+
body=_body_params,
|
359
|
+
post_params=_form_params,
|
360
|
+
files=_files,
|
361
|
+
response_types_map=_response_types_map,
|
362
|
+
auth_settings=_auth_settings,
|
363
|
+
async_req=_params.get('async_req'),
|
364
|
+
_return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
|
365
|
+
_preload_content=_params.get('_preload_content', True),
|
366
|
+
_request_timeout=_params.get('_request_timeout'),
|
367
|
+
collection_formats=_collection_formats,
|
368
|
+
_request_auth=_params.get('_request_auth'))
|
369
|
+
|
210
370
|
@overload
|
211
371
|
async def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
|
212
372
|
...
|
lusid/api/portfolios_api.py
CHANGED
@@ -80,30 +80,30 @@ class PortfoliosApi:
|
|
80
80
|
self.api_client = api_client
|
81
81
|
|
82
82
|
@overload
|
83
|
-
async def batch_upsert_portfolio_access_metadata(self,
|
83
|
+
async def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], 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) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
|
84
84
|
...
|
85
85
|
|
86
86
|
@overload
|
87
|
-
def batch_upsert_portfolio_access_metadata(self,
|
87
|
+
def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], 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, async_req: Optional[bool]=True, **kwargs) -> BatchUpsertPortfolioAccessMetadataResponse: # noqa: E501
|
88
88
|
...
|
89
89
|
|
90
90
|
@validate_arguments
|
91
|
-
def batch_upsert_portfolio_access_metadata(self,
|
92
|
-
"""[
|
91
|
+
def batch_upsert_portfolio_access_metadata(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], 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, async_req: Optional[bool]=None, **kwargs) -> Union[BatchUpsertPortfolioAccessMetadataResponse, Awaitable[BatchUpsertPortfolioAccessMetadataResponse]]: # noqa: E501
|
92
|
+
"""[EARLY ACCESS] BatchUpsertPortfolioAccessMetadata: Upsert multiple Portfolio Access Metadata Rules to multiple Portfolios # noqa: E501
|
93
93
|
|
94
|
-
Update or insert multiple
|
94
|
+
Update or insert multiple Access Metadata rules for multiple Portfolios. Items will be updated if they already exist and inserted if they do not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or a failure message if unsuccessful Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
|
95
95
|
This method makes a synchronous HTTP request by default. To make an
|
96
96
|
asynchronous HTTP request, please pass async_req=True
|
97
97
|
|
98
|
-
>>> thread = api.batch_upsert_portfolio_access_metadata(
|
98
|
+
>>> thread = api.batch_upsert_portfolio_access_metadata(request_body, effective_at, effective_until, async_req=True)
|
99
99
|
>>> result = thread.get()
|
100
100
|
|
101
|
-
:param
|
102
|
-
:type
|
103
|
-
:param effective_at: The date
|
101
|
+
:param request_body: The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for (required)
|
102
|
+
:type request_body: Dict[str, BatchUpsertPortfolioAccessMetadataRequest]
|
103
|
+
:param effective_at: The date these rules will be effective from
|
104
104
|
:type effective_at: str
|
105
|
-
:param effective_until: 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
|
106
|
-
:type effective_until:
|
105
|
+
:param effective_until: 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
|
106
|
+
:type effective_until: str
|
107
107
|
:param async_req: Whether to execute the request asynchronously.
|
108
108
|
:type async_req: bool, optional
|
109
109
|
:param _request_timeout: timeout setting for this request.
|
@@ -121,25 +121,25 @@ class PortfoliosApi:
|
|
121
121
|
raise ValueError(message)
|
122
122
|
if async_req is not None:
|
123
123
|
kwargs['async_req'] = async_req
|
124
|
-
return self.batch_upsert_portfolio_access_metadata_with_http_info(
|
124
|
+
return self.batch_upsert_portfolio_access_metadata_with_http_info(request_body, effective_at, effective_until, **kwargs) # noqa: E501
|
125
125
|
|
126
126
|
@validate_arguments
|
127
|
-
def batch_upsert_portfolio_access_metadata_with_http_info(self,
|
128
|
-
"""[
|
127
|
+
def batch_upsert_portfolio_access_metadata_with_http_info(self, request_body : Annotated[Dict[str, BatchUpsertPortfolioAccessMetadataRequest], Field(..., description="The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for")], effective_at : Annotated[Optional[StrictStr], Field(description="The date these rules will be effective from")] = None, effective_until : Annotated[Optional[StrictStr], 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) -> ApiResponse: # noqa: E501
|
128
|
+
"""[EARLY ACCESS] BatchUpsertPortfolioAccessMetadata: Upsert multiple Portfolio Access Metadata Rules to multiple Portfolios # noqa: E501
|
129
129
|
|
130
|
-
Update or insert multiple
|
130
|
+
Update or insert multiple Access Metadata rules for multiple Portfolios. Items will be updated if they already exist and inserted if they do not. No other items will be affected The response will return the successfully updated or inserted Portfolio Access Metadata Rules or a failure message if unsuccessful Multiple rules for a metadataKey can exist with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
|
131
131
|
This method makes a synchronous HTTP request by default. To make an
|
132
132
|
asynchronous HTTP request, please pass async_req=True
|
133
133
|
|
134
|
-
>>> thread = api.batch_upsert_portfolio_access_metadata_with_http_info(
|
134
|
+
>>> thread = api.batch_upsert_portfolio_access_metadata_with_http_info(request_body, effective_at, effective_until, async_req=True)
|
135
135
|
>>> result = thread.get()
|
136
136
|
|
137
|
-
:param
|
138
|
-
:type
|
139
|
-
:param effective_at: The date
|
137
|
+
:param request_body: The Access Metadata Rules to upsert and the Portfolio identifiers to upsert for (required)
|
138
|
+
:type request_body: Dict[str, BatchUpsertPortfolioAccessMetadataRequest]
|
139
|
+
:param effective_at: The date these rules will be effective from
|
140
140
|
:type effective_at: str
|
141
|
-
:param effective_until: 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
|
142
|
-
:type effective_until:
|
141
|
+
:param effective_until: 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
|
142
|
+
:type effective_until: str
|
143
143
|
:param async_req: Whether to execute the request asynchronously.
|
144
144
|
:type async_req: bool, optional
|
145
145
|
:param _preload_content: if False, the ApiResponse.data will
|
@@ -168,7 +168,7 @@ class PortfoliosApi:
|
|
168
168
|
_params = locals()
|
169
169
|
|
170
170
|
_all_params = [
|
171
|
-
'
|
171
|
+
'request_body',
|
172
172
|
'effective_at',
|
173
173
|
'effective_until'
|
174
174
|
]
|
@@ -205,10 +205,7 @@ class PortfoliosApi:
|
|
205
205
|
_query_params.append(('effectiveAt', _params['effective_at']))
|
206
206
|
|
207
207
|
if _params.get('effective_until') is not None: # noqa: E501
|
208
|
-
|
209
|
-
_query_params.append(('effectiveUntil', _params['effective_until'].strftime(self.api_client.configuration.datetime_format)))
|
210
|
-
else:
|
211
|
-
_query_params.append(('effectiveUntil', _params['effective_until']))
|
208
|
+
_query_params.append(('effectiveUntil', _params['effective_until']))
|
212
209
|
|
213
210
|
# process the header parameters
|
214
211
|
_header_params = dict(_params.get('_headers', {}))
|
@@ -217,8 +214,8 @@ class PortfoliosApi:
|
|
217
214
|
_files = {}
|
218
215
|
# process the body parameter
|
219
216
|
_body_params = None
|
220
|
-
if _params['
|
221
|
-
_body_params = _params['
|
217
|
+
if _params['request_body'] is not None:
|
218
|
+
_body_params = _params['request_body']
|
222
219
|
|
223
220
|
# set the HTTP header `Accept`
|
224
221
|
_header_params['Accept'] = self.api_client.select_header_accept(
|