lusid-sdk 2.1.697__py3-none-any.whl → 2.1.698__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.
@@ -0,0 +1,960 @@
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
+ import re # noqa: F401
16
+ import io
17
+ import warnings
18
+
19
+ from pydantic.v1 import validate_arguments, ValidationError
20
+ from typing import overload, Optional, Union, Awaitable
21
+
22
+ from typing_extensions import Annotated
23
+ from datetime import datetime
24
+
25
+ from pydantic.v1 import Field, StrictStr, conint, conlist, constr, validator
26
+
27
+ from typing import Optional
28
+
29
+ from lusid.models.create_identifier_definition_request import CreateIdentifierDefinitionRequest
30
+ from lusid.models.deleted_entity_response import DeletedEntityResponse
31
+ from lusid.models.identifier_definition import IdentifierDefinition
32
+ from lusid.models.paged_resource_list_of_identifier_definition import PagedResourceListOfIdentifierDefinition
33
+ from lusid.models.update_identifier_definition_request import UpdateIdentifierDefinitionRequest
34
+
35
+ from lusid.api_client import ApiClient
36
+ from lusid.api_response import ApiResponse
37
+ from lusid.exceptions import ( # noqa: F401
38
+ ApiTypeError,
39
+ ApiValueError
40
+ )
41
+ from lusid.extensions.configuration_options import ConfigurationOptions
42
+
43
+
44
+ class IdentifierDefinitionsApi:
45
+ """NOTE: This class is auto generated by OpenAPI Generator
46
+ Ref: https://openapi-generator.tech
47
+
48
+ Do not edit the class manually.
49
+ """
50
+
51
+ def __init__(self, api_client=None) -> None:
52
+ if api_client is None:
53
+ api_client = ApiClient.get_default()
54
+ self.api_client = api_client
55
+
56
+ @overload
57
+ async def create_identifier_definition(self, create_identifier_definition_request : Annotated[Optional[CreateIdentifierDefinitionRequest], Field(description="The request defining the new definition")] = None, **kwargs) -> IdentifierDefinition: # noqa: E501
58
+ ...
59
+
60
+ @overload
61
+ def create_identifier_definition(self, create_identifier_definition_request : Annotated[Optional[CreateIdentifierDefinitionRequest], Field(description="The request defining the new definition")] = None, async_req: Optional[bool]=True, **kwargs) -> IdentifierDefinition: # noqa: E501
62
+ ...
63
+
64
+ @validate_arguments
65
+ def create_identifier_definition(self, create_identifier_definition_request : Annotated[Optional[CreateIdentifierDefinitionRequest], Field(description="The request defining the new definition")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[IdentifierDefinition, Awaitable[IdentifierDefinition]]: # noqa: E501
66
+ """[EXPERIMENTAL] CreateIdentifierDefinition: Create an Identifier Definition # noqa: E501
67
+
68
+ Define a new Identifier Definition # 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.create_identifier_definition(create_identifier_definition_request, async_req=True)
73
+ >>> result = thread.get()
74
+
75
+ :param create_identifier_definition_request: The request defining the new definition
76
+ :type create_identifier_definition_request: CreateIdentifierDefinitionRequest
77
+ :param async_req: Whether to execute the request asynchronously.
78
+ :type async_req: bool, optional
79
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
80
+ :param opts: Configuration options for this request
81
+ :type opts: ConfigurationOptions, optional
82
+ :return: Returns the result object.
83
+ If the method is called asynchronously,
84
+ returns the request thread.
85
+ :rtype: IdentifierDefinition
86
+ """
87
+ kwargs['_return_http_data_only'] = True
88
+ if '_preload_content' in kwargs:
89
+ message = "Error! Please call the create_identifier_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
90
+ raise ValueError(message)
91
+ if async_req is not None:
92
+ kwargs['async_req'] = async_req
93
+ return self.create_identifier_definition_with_http_info(create_identifier_definition_request, **kwargs) # noqa: E501
94
+
95
+ @validate_arguments
96
+ def create_identifier_definition_with_http_info(self, create_identifier_definition_request : Annotated[Optional[CreateIdentifierDefinitionRequest], Field(description="The request defining the new definition")] = None, **kwargs) -> ApiResponse: # noqa: E501
97
+ """[EXPERIMENTAL] CreateIdentifierDefinition: Create an Identifier Definition # noqa: E501
98
+
99
+ Define a new Identifier Definition # noqa: E501
100
+ This method makes a synchronous HTTP request by default. To make an
101
+ asynchronous HTTP request, please pass async_req=True
102
+
103
+ >>> thread = api.create_identifier_definition_with_http_info(create_identifier_definition_request, async_req=True)
104
+ >>> result = thread.get()
105
+
106
+ :param create_identifier_definition_request: The request defining the new definition
107
+ :type create_identifier_definition_request: CreateIdentifierDefinitionRequest
108
+ :param async_req: Whether to execute the request asynchronously.
109
+ :type async_req: bool, optional
110
+ :param _preload_content: if False, the ApiResponse.data will
111
+ be set to none and raw_data will store the
112
+ HTTP response body without reading/decoding.
113
+ Default is True.
114
+ :type _preload_content: bool, optional
115
+ :param _return_http_data_only: response data instead of ApiResponse
116
+ object with status code, headers, etc
117
+ :type _return_http_data_only: bool, optional
118
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
119
+ :param opts: Configuration options for this request
120
+ :type opts: ConfigurationOptions, optional
121
+ :param _request_auth: set to override the auth_settings for an a single
122
+ request; this effectively ignores the authentication
123
+ in the spec for a single request.
124
+ :type _request_auth: dict, optional
125
+ :type _content_type: string, optional: force content-type for the request
126
+ :return: Returns the result object.
127
+ If the method is called asynchronously,
128
+ returns the request thread.
129
+ :rtype: tuple(IdentifierDefinition, status_code(int), headers(HTTPHeaderDict))
130
+ """
131
+
132
+ _params = locals()
133
+
134
+ _all_params = [
135
+ 'create_identifier_definition_request'
136
+ ]
137
+ _all_params.extend(
138
+ [
139
+ 'async_req',
140
+ '_return_http_data_only',
141
+ '_preload_content',
142
+ '_request_timeout',
143
+ '_request_auth',
144
+ '_content_type',
145
+ '_headers',
146
+ 'opts'
147
+ ]
148
+ )
149
+
150
+ # validate the arguments
151
+ for _key, _val in _params['kwargs'].items():
152
+ if _key not in _all_params:
153
+ raise ApiTypeError(
154
+ "Got an unexpected keyword argument '%s'"
155
+ " to method create_identifier_definition" % _key
156
+ )
157
+ _params[_key] = _val
158
+ del _params['kwargs']
159
+
160
+ _collection_formats = {}
161
+
162
+ # process the path parameters
163
+ _path_params = {}
164
+
165
+ # process the query parameters
166
+ _query_params = []
167
+ # process the header parameters
168
+ _header_params = dict(_params.get('_headers', {}))
169
+ # process the form parameters
170
+ _form_params = []
171
+ _files = {}
172
+ # process the body parameter
173
+ _body_params = None
174
+ if _params['create_identifier_definition_request'] is not None:
175
+ _body_params = _params['create_identifier_definition_request']
176
+
177
+ # set the HTTP header `Accept`
178
+ _header_params['Accept'] = self.api_client.select_header_accept(
179
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
180
+
181
+ # set the HTTP header `Content-Type`
182
+ _content_types_list = _params.get('_content_type',
183
+ self.api_client.select_header_content_type(
184
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
185
+ if _content_types_list:
186
+ _header_params['Content-Type'] = _content_types_list
187
+
188
+ # authentication setting
189
+ _auth_settings = ['oauth2'] # noqa: E501
190
+
191
+ _response_types_map = {
192
+ '201': "IdentifierDefinition",
193
+ '400': "LusidValidationProblemDetails",
194
+ }
195
+
196
+ return self.api_client.call_api(
197
+ '/api/identifierdefinitions', 'POST',
198
+ _path_params,
199
+ _query_params,
200
+ _header_params,
201
+ body=_body_params,
202
+ post_params=_form_params,
203
+ files=_files,
204
+ response_types_map=_response_types_map,
205
+ auth_settings=_auth_settings,
206
+ async_req=_params.get('async_req'),
207
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
208
+ _preload_content=_params.get('_preload_content', True),
209
+ _request_timeout=_params.get('_request_timeout'),
210
+ opts=_params.get('opts'),
211
+ collection_formats=_collection_formats,
212
+ _request_auth=_params.get('_request_auth'))
213
+
214
+ @overload
215
+ async def delete_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], **kwargs) -> DeletedEntityResponse: # noqa: E501
216
+ ...
217
+
218
+ @overload
219
+ def delete_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
220
+ ...
221
+
222
+ @validate_arguments
223
+ def delete_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
224
+ """[EXPERIMENTAL] DeleteIdentifierDefinition: Delete a particular Identifier Definition # noqa: E501
225
+
226
+ The deletion will take effect from the Identifier Definition deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
227
+ This method makes a synchronous HTTP request by default. To make an
228
+ asynchronous HTTP request, please pass async_req=True
229
+
230
+ >>> thread = api.delete_identifier_definition(domain, identifier_scope, identifier_type, async_req=True)
231
+ >>> result = thread.get()
232
+
233
+ :param domain: The type of entity to which the identifier relates (required)
234
+ :type domain: str
235
+ :param identifier_scope: The scope that the identifier exists in (required)
236
+ :type identifier_scope: str
237
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition (required)
238
+ :type identifier_type: str
239
+ :param async_req: Whether to execute the request asynchronously.
240
+ :type async_req: bool, optional
241
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
242
+ :param opts: Configuration options for this request
243
+ :type opts: ConfigurationOptions, optional
244
+ :return: Returns the result object.
245
+ If the method is called asynchronously,
246
+ returns the request thread.
247
+ :rtype: DeletedEntityResponse
248
+ """
249
+ kwargs['_return_http_data_only'] = True
250
+ if '_preload_content' in kwargs:
251
+ message = "Error! Please call the delete_identifier_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
252
+ raise ValueError(message)
253
+ if async_req is not None:
254
+ kwargs['async_req'] = async_req
255
+ return self.delete_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, **kwargs) # noqa: E501
256
+
257
+ @validate_arguments
258
+ def delete_identifier_definition_with_http_info(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], **kwargs) -> ApiResponse: # noqa: E501
259
+ """[EXPERIMENTAL] DeleteIdentifierDefinition: Delete a particular Identifier Definition # noqa: E501
260
+
261
+ The deletion will take effect from the Identifier Definition deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
262
+ This method makes a synchronous HTTP request by default. To make an
263
+ asynchronous HTTP request, please pass async_req=True
264
+
265
+ >>> thread = api.delete_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, async_req=True)
266
+ >>> result = thread.get()
267
+
268
+ :param domain: The type of entity to which the identifier relates (required)
269
+ :type domain: str
270
+ :param identifier_scope: The scope that the identifier exists in (required)
271
+ :type identifier_scope: str
272
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition (required)
273
+ :type identifier_type: str
274
+ :param async_req: Whether to execute the request asynchronously.
275
+ :type async_req: bool, optional
276
+ :param _preload_content: if False, the ApiResponse.data will
277
+ be set to none and raw_data will store the
278
+ HTTP response body without reading/decoding.
279
+ Default is True.
280
+ :type _preload_content: bool, optional
281
+ :param _return_http_data_only: response data instead of ApiResponse
282
+ object with status code, headers, etc
283
+ :type _return_http_data_only: bool, optional
284
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
285
+ :param opts: Configuration options for this request
286
+ :type opts: ConfigurationOptions, optional
287
+ :param _request_auth: set to override the auth_settings for an a single
288
+ request; this effectively ignores the authentication
289
+ in the spec for a single request.
290
+ :type _request_auth: dict, optional
291
+ :type _content_type: string, optional: force content-type for the request
292
+ :return: Returns the result object.
293
+ If the method is called asynchronously,
294
+ returns the request thread.
295
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
296
+ """
297
+
298
+ _params = locals()
299
+
300
+ _all_params = [
301
+ 'domain',
302
+ 'identifier_scope',
303
+ 'identifier_type'
304
+ ]
305
+ _all_params.extend(
306
+ [
307
+ 'async_req',
308
+ '_return_http_data_only',
309
+ '_preload_content',
310
+ '_request_timeout',
311
+ '_request_auth',
312
+ '_content_type',
313
+ '_headers',
314
+ 'opts'
315
+ ]
316
+ )
317
+
318
+ # validate the arguments
319
+ for _key, _val in _params['kwargs'].items():
320
+ if _key not in _all_params:
321
+ raise ApiTypeError(
322
+ "Got an unexpected keyword argument '%s'"
323
+ " to method delete_identifier_definition" % _key
324
+ )
325
+ _params[_key] = _val
326
+ del _params['kwargs']
327
+
328
+ _collection_formats = {}
329
+
330
+ # process the path parameters
331
+ _path_params = {}
332
+ if _params['domain']:
333
+ _path_params['domain'] = _params['domain']
334
+
335
+ if _params['identifier_scope']:
336
+ _path_params['identifierScope'] = _params['identifier_scope']
337
+
338
+ if _params['identifier_type']:
339
+ _path_params['identifierType'] = _params['identifier_type']
340
+
341
+
342
+ # process the query parameters
343
+ _query_params = []
344
+ # process the header parameters
345
+ _header_params = dict(_params.get('_headers', {}))
346
+ # process the form parameters
347
+ _form_params = []
348
+ _files = {}
349
+ # process the body parameter
350
+ _body_params = None
351
+ # set the HTTP header `Accept`
352
+ _header_params['Accept'] = self.api_client.select_header_accept(
353
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
354
+
355
+ # authentication setting
356
+ _auth_settings = ['oauth2'] # noqa: E501
357
+
358
+ _response_types_map = {
359
+ '200': "DeletedEntityResponse",
360
+ '400': "LusidValidationProblemDetails",
361
+ }
362
+
363
+ return self.api_client.call_api(
364
+ '/api/identifierdefinitions/{domain}/{identifierScope}/{identifierType}', 'DELETE',
365
+ _path_params,
366
+ _query_params,
367
+ _header_params,
368
+ body=_body_params,
369
+ post_params=_form_params,
370
+ files=_files,
371
+ response_types_map=_response_types_map,
372
+ auth_settings=_auth_settings,
373
+ async_req=_params.get('async_req'),
374
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
375
+ _preload_content=_params.get('_preload_content', True),
376
+ _request_timeout=_params.get('_request_timeout'),
377
+ opts=_params.get('opts'),
378
+ collection_formats=_collection_formats,
379
+ _request_auth=_params.get('_request_auth'))
380
+
381
+ @overload
382
+ async def get_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates.")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> IdentifierDefinition: # noqa: E501
383
+ ...
384
+
385
+ @overload
386
+ def get_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates.")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=True, **kwargs) -> IdentifierDefinition: # noqa: E501
387
+ ...
388
+
389
+ @validate_arguments
390
+ def get_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates.")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[IdentifierDefinition, Awaitable[IdentifierDefinition]]: # noqa: E501
391
+ """[EXPERIMENTAL] GetIdentifierDefinition: Get a single Identifier Definition # noqa: E501
392
+
393
+ Get a single Identifier Definition using domain, identifierScope, identifierType, and an optional asAt - defaulting to latest if not specified # noqa: E501
394
+ This method makes a synchronous HTTP request by default. To make an
395
+ asynchronous HTTP request, please pass async_req=True
396
+
397
+ >>> thread = api.get_identifier_definition(domain, identifier_scope, identifier_type, as_at, effective_at, property_keys, async_req=True)
398
+ >>> result = thread.get()
399
+
400
+ :param domain: The type of entity to which the identifier relates. (required)
401
+ :type domain: str
402
+ :param identifier_scope: The scope that the identifier exists in (required)
403
+ :type identifier_scope: str
404
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition (required)
405
+ :type identifier_type: str
406
+ :param as_at: The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.
407
+ :type as_at: datetime
408
+ :param effective_at: The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.
409
+ :type effective_at: str
410
+ :param property_keys: A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.
411
+ :type property_keys: List[str]
412
+ :param async_req: Whether to execute the request asynchronously.
413
+ :type async_req: bool, optional
414
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
415
+ :param opts: Configuration options for this request
416
+ :type opts: ConfigurationOptions, optional
417
+ :return: Returns the result object.
418
+ If the method is called asynchronously,
419
+ returns the request thread.
420
+ :rtype: IdentifierDefinition
421
+ """
422
+ kwargs['_return_http_data_only'] = True
423
+ if '_preload_content' in kwargs:
424
+ message = "Error! Please call the get_identifier_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
425
+ raise ValueError(message)
426
+ if async_req is not None:
427
+ kwargs['async_req'] = async_req
428
+ return self.get_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, as_at, effective_at, property_keys, **kwargs) # noqa: E501
429
+
430
+ @validate_arguments
431
+ def get_identifier_definition_with_http_info(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates.")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.")] = None, **kwargs) -> ApiResponse: # noqa: E501
432
+ """[EXPERIMENTAL] GetIdentifierDefinition: Get a single Identifier Definition # noqa: E501
433
+
434
+ Get a single Identifier Definition using domain, identifierScope, identifierType, and an optional asAt - defaulting to latest if not specified # noqa: E501
435
+ This method makes a synchronous HTTP request by default. To make an
436
+ asynchronous HTTP request, please pass async_req=True
437
+
438
+ >>> thread = api.get_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, as_at, effective_at, property_keys, async_req=True)
439
+ >>> result = thread.get()
440
+
441
+ :param domain: The type of entity to which the identifier relates. (required)
442
+ :type domain: str
443
+ :param identifier_scope: The scope that the identifier exists in (required)
444
+ :type identifier_scope: str
445
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the identifier definition (required)
446
+ :type identifier_type: str
447
+ :param as_at: The asAt datetime at which to retrieve the Identifier Definition. Defaults to return the latest version of the definition if not specified.
448
+ :type as_at: datetime
449
+ :param effective_at: The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.
450
+ :type effective_at: str
451
+ :param property_keys: A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}. If no properties are specified, then no properties will be returned.
452
+ :type property_keys: List[str]
453
+ :param async_req: Whether to execute the request asynchronously.
454
+ :type async_req: bool, optional
455
+ :param _preload_content: if False, the ApiResponse.data will
456
+ be set to none and raw_data will store the
457
+ HTTP response body without reading/decoding.
458
+ Default is True.
459
+ :type _preload_content: bool, optional
460
+ :param _return_http_data_only: response data instead of ApiResponse
461
+ object with status code, headers, etc
462
+ :type _return_http_data_only: bool, optional
463
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
464
+ :param opts: Configuration options for this request
465
+ :type opts: ConfigurationOptions, optional
466
+ :param _request_auth: set to override the auth_settings for an a single
467
+ request; this effectively ignores the authentication
468
+ in the spec for a single request.
469
+ :type _request_auth: dict, optional
470
+ :type _content_type: string, optional: force content-type for the request
471
+ :return: Returns the result object.
472
+ If the method is called asynchronously,
473
+ returns the request thread.
474
+ :rtype: tuple(IdentifierDefinition, status_code(int), headers(HTTPHeaderDict))
475
+ """
476
+
477
+ _params = locals()
478
+
479
+ _all_params = [
480
+ 'domain',
481
+ 'identifier_scope',
482
+ 'identifier_type',
483
+ 'as_at',
484
+ 'effective_at',
485
+ 'property_keys'
486
+ ]
487
+ _all_params.extend(
488
+ [
489
+ 'async_req',
490
+ '_return_http_data_only',
491
+ '_preload_content',
492
+ '_request_timeout',
493
+ '_request_auth',
494
+ '_content_type',
495
+ '_headers',
496
+ 'opts'
497
+ ]
498
+ )
499
+
500
+ # validate the arguments
501
+ for _key, _val in _params['kwargs'].items():
502
+ if _key not in _all_params:
503
+ raise ApiTypeError(
504
+ "Got an unexpected keyword argument '%s'"
505
+ " to method get_identifier_definition" % _key
506
+ )
507
+ _params[_key] = _val
508
+ del _params['kwargs']
509
+
510
+ _collection_formats = {}
511
+
512
+ # process the path parameters
513
+ _path_params = {}
514
+ if _params['domain']:
515
+ _path_params['domain'] = _params['domain']
516
+
517
+ if _params['identifier_scope']:
518
+ _path_params['identifierScope'] = _params['identifier_scope']
519
+
520
+ if _params['identifier_type']:
521
+ _path_params['identifierType'] = _params['identifier_type']
522
+
523
+
524
+ # process the query parameters
525
+ _query_params = []
526
+ if _params.get('as_at') is not None: # noqa: E501
527
+ if isinstance(_params['as_at'], datetime):
528
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
529
+ else:
530
+ _query_params.append(('asAt', _params['as_at']))
531
+
532
+ if _params.get('effective_at') is not None: # noqa: E501
533
+ _query_params.append(('effectiveAt', _params['effective_at']))
534
+
535
+ if _params.get('property_keys') is not None: # noqa: E501
536
+ _query_params.append(('propertyKeys', _params['property_keys']))
537
+ _collection_formats['propertyKeys'] = 'multi'
538
+
539
+ # process the header parameters
540
+ _header_params = dict(_params.get('_headers', {}))
541
+ # process the form parameters
542
+ _form_params = []
543
+ _files = {}
544
+ # process the body parameter
545
+ _body_params = None
546
+ # set the HTTP header `Accept`
547
+ _header_params['Accept'] = self.api_client.select_header_accept(
548
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
549
+
550
+ # authentication setting
551
+ _auth_settings = ['oauth2'] # noqa: E501
552
+
553
+ _response_types_map = {
554
+ '200': "IdentifierDefinition",
555
+ '400': "LusidValidationProblemDetails",
556
+ }
557
+
558
+ return self.api_client.call_api(
559
+ '/api/identifierdefinitions/{domain}/{identifierScope}/{identifierType}', 'GET',
560
+ _path_params,
561
+ _query_params,
562
+ _header_params,
563
+ body=_body_params,
564
+ post_params=_form_params,
565
+ files=_files,
566
+ response_types_map=_response_types_map,
567
+ auth_settings=_auth_settings,
568
+ async_req=_params.get('async_req'),
569
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
570
+ _preload_content=_params.get('_preload_content', True),
571
+ _request_timeout=_params.get('_request_timeout'),
572
+ opts=_params.get('opts'),
573
+ collection_formats=_collection_formats,
574
+ _request_auth=_params.get('_request_auth'))
575
+
576
+ @overload
577
+ async def list_identifier_definitions(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions 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 Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, 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 per page.")] = 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 to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.")] = None, **kwargs) -> PagedResourceListOfIdentifierDefinition: # noqa: E501
578
+ ...
579
+
580
+ @overload
581
+ def list_identifier_definitions(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions 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 Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, 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 per page.")] = 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 to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfIdentifierDefinition: # noqa: E501
582
+ ...
583
+
584
+ @validate_arguments
585
+ def list_identifier_definitions(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions 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 Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, 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 per page.")] = 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 to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfIdentifierDefinition, Awaitable[PagedResourceListOfIdentifierDefinition]]: # noqa: E501
586
+ """[EXPERIMENTAL] ListIdentifierDefinitions: List Identifier Definitions # noqa: E501
587
+
588
+ Retrieves all Identifier Definitions that fit the filter, in a specific order if sortBy is provided Supports pagination # noqa: E501
589
+ This method makes a synchronous HTTP request by default. To make an
590
+ asynchronous HTTP request, please pass async_req=True
591
+
592
+ >>> thread = api.list_identifier_definitions(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
593
+ >>> result = thread.get()
594
+
595
+ :param effective_at: The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.
596
+ :type effective_at: str
597
+ :param as_at: The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions if not specified.
598
+ :type as_at: datetime
599
+ :param page: The pagination token to use to continue listing Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.
600
+ :type page: str
601
+ :param limit: When paginating, limit the number of returned results to this many per page.
602
+ :type limit: int
603
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
604
+ :type filter: str
605
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
606
+ :type sort_by: List[str]
607
+ :param property_keys: A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.
608
+ :type property_keys: List[str]
609
+ :param async_req: Whether to execute the request asynchronously.
610
+ :type async_req: bool, optional
611
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
612
+ :param opts: Configuration options for this request
613
+ :type opts: ConfigurationOptions, optional
614
+ :return: Returns the result object.
615
+ If the method is called asynchronously,
616
+ returns the request thread.
617
+ :rtype: PagedResourceListOfIdentifierDefinition
618
+ """
619
+ kwargs['_return_http_data_only'] = True
620
+ if '_preload_content' in kwargs:
621
+ message = "Error! Please call the list_identifier_definitions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
622
+ raise ValueError(message)
623
+ if async_req is not None:
624
+ kwargs['async_req'] = async_req
625
+ return self.list_identifier_definitions_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, **kwargs) # noqa: E501
626
+
627
+ @validate_arguments
628
+ def list_identifier_definitions_with_http_info(self, effective_at : Annotated[Optional[StrictStr], Field(description="The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions 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 Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, 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 per page.")] = 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 to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, property_keys : Annotated[Optional[conlist(StrictStr)], Field(description="A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.")] = None, **kwargs) -> ApiResponse: # noqa: E501
629
+ """[EXPERIMENTAL] ListIdentifierDefinitions: List Identifier Definitions # noqa: E501
630
+
631
+ Retrieves all Identifier Definitions that fit the filter, in a specific order if sortBy is provided Supports pagination # noqa: E501
632
+ This method makes a synchronous HTTP request by default. To make an
633
+ asynchronous HTTP request, please pass async_req=True
634
+
635
+ >>> thread = api.list_identifier_definitions_with_http_info(effective_at, as_at, page, limit, filter, sort_by, property_keys, async_req=True)
636
+ >>> result = thread.get()
637
+
638
+ :param effective_at: The effectiveAt datetime at which to retrieve the Identifier Definitions. Since Identifier Definitions exist for all effective time, this will only apply to properties (if requested) on the Identifier Definition.
639
+ :type effective_at: str
640
+ :param as_at: The asAt datetime at which to retrieve the Identifier Definitions. Defaults to return the latest version of the Identifier Definitions if not specified.
641
+ :type as_at: datetime
642
+ :param page: The pagination token to use to continue listing Identifier Definitions from a previous call to list Identifier Definitions. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.
643
+ :type page: str
644
+ :param limit: When paginating, limit the number of returned results to this many per page.
645
+ :type limit: int
646
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
647
+ :type filter: str
648
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
649
+ :type sort_by: List[str]
650
+ :param property_keys: A list of property keys from the 'IdentifierDefinition' domain to decorate onto the Identifier Definition. These must take the format {domain}/{scope}/{code}.
651
+ :type property_keys: List[str]
652
+ :param async_req: Whether to execute the request asynchronously.
653
+ :type async_req: bool, optional
654
+ :param _preload_content: if False, the ApiResponse.data will
655
+ be set to none and raw_data will store the
656
+ HTTP response body without reading/decoding.
657
+ Default is True.
658
+ :type _preload_content: bool, optional
659
+ :param _return_http_data_only: response data instead of ApiResponse
660
+ object with status code, headers, etc
661
+ :type _return_http_data_only: bool, optional
662
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
663
+ :param opts: Configuration options for this request
664
+ :type opts: ConfigurationOptions, optional
665
+ :param _request_auth: set to override the auth_settings for an a single
666
+ request; this effectively ignores the authentication
667
+ in the spec for a single request.
668
+ :type _request_auth: dict, optional
669
+ :type _content_type: string, optional: force content-type for the request
670
+ :return: Returns the result object.
671
+ If the method is called asynchronously,
672
+ returns the request thread.
673
+ :rtype: tuple(PagedResourceListOfIdentifierDefinition, status_code(int), headers(HTTPHeaderDict))
674
+ """
675
+
676
+ _params = locals()
677
+
678
+ _all_params = [
679
+ 'effective_at',
680
+ 'as_at',
681
+ 'page',
682
+ 'limit',
683
+ 'filter',
684
+ 'sort_by',
685
+ 'property_keys'
686
+ ]
687
+ _all_params.extend(
688
+ [
689
+ 'async_req',
690
+ '_return_http_data_only',
691
+ '_preload_content',
692
+ '_request_timeout',
693
+ '_request_auth',
694
+ '_content_type',
695
+ '_headers',
696
+ 'opts'
697
+ ]
698
+ )
699
+
700
+ # validate the arguments
701
+ for _key, _val in _params['kwargs'].items():
702
+ if _key not in _all_params:
703
+ raise ApiTypeError(
704
+ "Got an unexpected keyword argument '%s'"
705
+ " to method list_identifier_definitions" % _key
706
+ )
707
+ _params[_key] = _val
708
+ del _params['kwargs']
709
+
710
+ _collection_formats = {}
711
+
712
+ # process the path parameters
713
+ _path_params = {}
714
+
715
+ # process the query parameters
716
+ _query_params = []
717
+ if _params.get('effective_at') is not None: # noqa: E501
718
+ _query_params.append(('effectiveAt', _params['effective_at']))
719
+
720
+ if _params.get('as_at') is not None: # noqa: E501
721
+ if isinstance(_params['as_at'], datetime):
722
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
723
+ else:
724
+ _query_params.append(('asAt', _params['as_at']))
725
+
726
+ if _params.get('page') is not None: # noqa: E501
727
+ _query_params.append(('page', _params['page']))
728
+
729
+ if _params.get('limit') is not None: # noqa: E501
730
+ _query_params.append(('limit', _params['limit']))
731
+
732
+ if _params.get('filter') is not None: # noqa: E501
733
+ _query_params.append(('filter', _params['filter']))
734
+
735
+ if _params.get('sort_by') is not None: # noqa: E501
736
+ _query_params.append(('sortBy', _params['sort_by']))
737
+ _collection_formats['sortBy'] = 'multi'
738
+
739
+ if _params.get('property_keys') is not None: # noqa: E501
740
+ _query_params.append(('propertyKeys', _params['property_keys']))
741
+ _collection_formats['propertyKeys'] = 'multi'
742
+
743
+ # process the header parameters
744
+ _header_params = dict(_params.get('_headers', {}))
745
+ # process the form parameters
746
+ _form_params = []
747
+ _files = {}
748
+ # process the body parameter
749
+ _body_params = None
750
+ # set the HTTP header `Accept`
751
+ _header_params['Accept'] = self.api_client.select_header_accept(
752
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
753
+
754
+ # authentication setting
755
+ _auth_settings = ['oauth2'] # noqa: E501
756
+
757
+ _response_types_map = {
758
+ '200': "PagedResourceListOfIdentifierDefinition",
759
+ '400': "LusidValidationProblemDetails",
760
+ }
761
+
762
+ return self.api_client.call_api(
763
+ '/api/identifierdefinitions', 'GET',
764
+ _path_params,
765
+ _query_params,
766
+ _header_params,
767
+ body=_body_params,
768
+ post_params=_form_params,
769
+ files=_files,
770
+ response_types_map=_response_types_map,
771
+ auth_settings=_auth_settings,
772
+ async_req=_params.get('async_req'),
773
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
774
+ _preload_content=_params.get('_preload_content', True),
775
+ _request_timeout=_params.get('_request_timeout'),
776
+ opts=_params.get('opts'),
777
+ collection_formats=_collection_formats,
778
+ _request_auth=_params.get('_request_auth'))
779
+
780
+ @overload
781
+ async def update_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition")], update_identifier_definition_request : Annotated[Optional[UpdateIdentifierDefinitionRequest], Field(description="The request containing the updated details of the ruleset")] = None, **kwargs) -> IdentifierDefinition: # noqa: E501
782
+ ...
783
+
784
+ @overload
785
+ def update_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition")], update_identifier_definition_request : Annotated[Optional[UpdateIdentifierDefinitionRequest], Field(description="The request containing the updated details of the ruleset")] = None, async_req: Optional[bool]=True, **kwargs) -> IdentifierDefinition: # noqa: E501
786
+ ...
787
+
788
+ @validate_arguments
789
+ def update_identifier_definition(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition")], update_identifier_definition_request : Annotated[Optional[UpdateIdentifierDefinitionRequest], Field(description="The request containing the updated details of the ruleset")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[IdentifierDefinition, Awaitable[IdentifierDefinition]]: # noqa: E501
790
+ """[EXPERIMENTAL] UpdateIdentifierDefinition: Update Identifier Definition defined by domain, identifierScope, and identifierType # noqa: E501
791
+
792
+ Overwrites an existing Identifier Definition. # noqa: E501
793
+ This method makes a synchronous HTTP request by default. To make an
794
+ asynchronous HTTP request, please pass async_req=True
795
+
796
+ >>> thread = api.update_identifier_definition(domain, identifier_scope, identifier_type, update_identifier_definition_request, async_req=True)
797
+ >>> result = thread.get()
798
+
799
+ :param domain: The type of entity to which the identifier relates (required)
800
+ :type domain: str
801
+ :param identifier_scope: The scope that the identifier exists in (required)
802
+ :type identifier_scope: str
803
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition (required)
804
+ :type identifier_type: str
805
+ :param update_identifier_definition_request: The request containing the updated details of the ruleset
806
+ :type update_identifier_definition_request: UpdateIdentifierDefinitionRequest
807
+ :param async_req: Whether to execute the request asynchronously.
808
+ :type async_req: bool, optional
809
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
810
+ :param opts: Configuration options for this request
811
+ :type opts: ConfigurationOptions, optional
812
+ :return: Returns the result object.
813
+ If the method is called asynchronously,
814
+ returns the request thread.
815
+ :rtype: IdentifierDefinition
816
+ """
817
+ kwargs['_return_http_data_only'] = True
818
+ if '_preload_content' in kwargs:
819
+ message = "Error! Please call the update_identifier_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
820
+ raise ValueError(message)
821
+ if async_req is not None:
822
+ kwargs['async_req'] = async_req
823
+ return self.update_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, update_identifier_definition_request, **kwargs) # noqa: E501
824
+
825
+ @validate_arguments
826
+ def update_identifier_definition_with_http_info(self, domain : Annotated[StrictStr, Field(..., description="The type of entity to which the identifier relates")], identifier_scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope that the identifier exists in")], identifier_type : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition")], update_identifier_definition_request : Annotated[Optional[UpdateIdentifierDefinitionRequest], Field(description="The request containing the updated details of the ruleset")] = None, **kwargs) -> ApiResponse: # noqa: E501
827
+ """[EXPERIMENTAL] UpdateIdentifierDefinition: Update Identifier Definition defined by domain, identifierScope, and identifierType # noqa: E501
828
+
829
+ Overwrites an existing Identifier Definition. # noqa: E501
830
+ This method makes a synchronous HTTP request by default. To make an
831
+ asynchronous HTTP request, please pass async_req=True
832
+
833
+ >>> thread = api.update_identifier_definition_with_http_info(domain, identifier_scope, identifier_type, update_identifier_definition_request, async_req=True)
834
+ >>> result = thread.get()
835
+
836
+ :param domain: The type of entity to which the identifier relates (required)
837
+ :type domain: str
838
+ :param identifier_scope: The scope that the identifier exists in (required)
839
+ :type identifier_scope: str
840
+ :param identifier_type: What the identifier represents. Together with \"domain\" and \"identifierScope\" this uniquely identifies the Identifier Definition (required)
841
+ :type identifier_type: str
842
+ :param update_identifier_definition_request: The request containing the updated details of the ruleset
843
+ :type update_identifier_definition_request: UpdateIdentifierDefinitionRequest
844
+ :param async_req: Whether to execute the request asynchronously.
845
+ :type async_req: bool, optional
846
+ :param _preload_content: if False, the ApiResponse.data will
847
+ be set to none and raw_data will store the
848
+ HTTP response body without reading/decoding.
849
+ Default is True.
850
+ :type _preload_content: bool, optional
851
+ :param _return_http_data_only: response data instead of ApiResponse
852
+ object with status code, headers, etc
853
+ :type _return_http_data_only: bool, optional
854
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
855
+ :param opts: Configuration options for this request
856
+ :type opts: ConfigurationOptions, optional
857
+ :param _request_auth: set to override the auth_settings for an a single
858
+ request; this effectively ignores the authentication
859
+ in the spec for a single request.
860
+ :type _request_auth: dict, optional
861
+ :type _content_type: string, optional: force content-type for the request
862
+ :return: Returns the result object.
863
+ If the method is called asynchronously,
864
+ returns the request thread.
865
+ :rtype: tuple(IdentifierDefinition, status_code(int), headers(HTTPHeaderDict))
866
+ """
867
+
868
+ _params = locals()
869
+
870
+ _all_params = [
871
+ 'domain',
872
+ 'identifier_scope',
873
+ 'identifier_type',
874
+ 'update_identifier_definition_request'
875
+ ]
876
+ _all_params.extend(
877
+ [
878
+ 'async_req',
879
+ '_return_http_data_only',
880
+ '_preload_content',
881
+ '_request_timeout',
882
+ '_request_auth',
883
+ '_content_type',
884
+ '_headers',
885
+ 'opts'
886
+ ]
887
+ )
888
+
889
+ # validate the arguments
890
+ for _key, _val in _params['kwargs'].items():
891
+ if _key not in _all_params:
892
+ raise ApiTypeError(
893
+ "Got an unexpected keyword argument '%s'"
894
+ " to method update_identifier_definition" % _key
895
+ )
896
+ _params[_key] = _val
897
+ del _params['kwargs']
898
+
899
+ _collection_formats = {}
900
+
901
+ # process the path parameters
902
+ _path_params = {}
903
+ if _params['domain']:
904
+ _path_params['domain'] = _params['domain']
905
+
906
+ if _params['identifier_scope']:
907
+ _path_params['identifierScope'] = _params['identifier_scope']
908
+
909
+ if _params['identifier_type']:
910
+ _path_params['identifierType'] = _params['identifier_type']
911
+
912
+
913
+ # process the query parameters
914
+ _query_params = []
915
+ # process the header parameters
916
+ _header_params = dict(_params.get('_headers', {}))
917
+ # process the form parameters
918
+ _form_params = []
919
+ _files = {}
920
+ # process the body parameter
921
+ _body_params = None
922
+ if _params['update_identifier_definition_request'] is not None:
923
+ _body_params = _params['update_identifier_definition_request']
924
+
925
+ # set the HTTP header `Accept`
926
+ _header_params['Accept'] = self.api_client.select_header_accept(
927
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
928
+
929
+ # set the HTTP header `Content-Type`
930
+ _content_types_list = _params.get('_content_type',
931
+ self.api_client.select_header_content_type(
932
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
933
+ if _content_types_list:
934
+ _header_params['Content-Type'] = _content_types_list
935
+
936
+ # authentication setting
937
+ _auth_settings = ['oauth2'] # noqa: E501
938
+
939
+ _response_types_map = {
940
+ '200': "IdentifierDefinition",
941
+ '400': "LusidValidationProblemDetails",
942
+ }
943
+
944
+ return self.api_client.call_api(
945
+ '/api/identifierdefinitions/{domain}/{identifierScope}/{identifierType}', 'PUT',
946
+ _path_params,
947
+ _query_params,
948
+ _header_params,
949
+ body=_body_params,
950
+ post_params=_form_params,
951
+ files=_files,
952
+ response_types_map=_response_types_map,
953
+ auth_settings=_auth_settings,
954
+ async_req=_params.get('async_req'),
955
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
956
+ _preload_content=_params.get('_preload_content', True),
957
+ _request_timeout=_params.get('_request_timeout'),
958
+ opts=_params.get('opts'),
959
+ collection_formats=_collection_formats,
960
+ _request_auth=_params.get('_request_auth'))