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