lusid-sdk 2.1.405__py3-none-any.whl → 2.1.423__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.
Files changed (72) hide show
  1. lusid/__init__.py +40 -8
  2. lusid/api/__init__.py +2 -2
  3. lusid/api/abor_api.py +8 -16
  4. lusid/api/allocations_api.py +2 -2
  5. lusid/api/chart_of_accounts_api.py +174 -0
  6. lusid/api/custom_entities_api.py +2 -2
  7. lusid/api/entities_api.py +180 -0
  8. lusid/api/{fund_configurations_api.py → fund_configuration_entities_api.py} +1 -1
  9. lusid/api/group_reconciliations_api.py +1418 -27
  10. lusid/api/instruments_api.py +6 -6
  11. lusid/api/legal_entities_api.py +4 -4
  12. lusid/api/order_graph_api.py +4 -4
  13. lusid/api/portfolios_api.py +27 -30
  14. lusid/api/reference_lists_api.py +2 -2
  15. lusid/api/reference_portfolio_api.py +176 -0
  16. lusid/api/transaction_portfolios_api.py +2 -2
  17. lusid/configuration.py +1 -1
  18. lusid/models/__init__.py +38 -6
  19. lusid/models/access_metadata_value.py +1 -1
  20. lusid/models/address_key_list.py +3 -3
  21. lusid/models/amount.py +69 -0
  22. lusid/models/batch_upsert_portfolio_access_metadata_request.py +27 -17
  23. lusid/models/batch_upsert_portfolio_access_metadata_response.py +56 -16
  24. lusid/models/{metadata_key_value.py → batch_upsert_portfolio_access_metadata_response_item.py} +15 -9
  25. lusid/models/{component_rule.py → break_code_source.py} +17 -21
  26. lusid/models/create_group_reconciliation_definition_request.py +113 -0
  27. lusid/models/custom_entity_entity.py +146 -0
  28. lusid/models/decimal_list.py +3 -3
  29. lusid/models/diary_entry_request.py +10 -1
  30. lusid/models/fixed_schedule.py +3 -3
  31. lusid/models/float_schedule.py +4 -4
  32. lusid/models/flow_conventions.py +7 -1
  33. lusid/models/fund_configuration.py +44 -17
  34. lusid/models/fund_configuration_request.py +31 -19
  35. lusid/models/fund_id_list.py +99 -0
  36. lusid/models/group_reconciliation_aggregate_attribute_rule.py +2 -2
  37. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +1 -1
  38. lusid/models/group_reconciliation_core_comparison_rule_operand.py +1 -1
  39. lusid/models/group_reconciliation_definition.py +136 -0
  40. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +83 -0
  41. lusid/models/group_reconciliation_definition_currencies.py +71 -0
  42. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +86 -0
  43. lusid/models/group_reconciliation_definition_recipe_ids.py +78 -0
  44. lusid/models/instrument.py +7 -1
  45. lusid/models/instrument_definition.py +8 -2
  46. lusid/models/instrument_list.py +3 -3
  47. lusid/models/market_data_key_rule.py +5 -3
  48. lusid/models/market_data_specific_rule.py +5 -3
  49. lusid/models/merger_event.py +19 -19
  50. lusid/models/output_transaction.py +9 -2
  51. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +113 -0
  52. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +113 -0
  53. lusid/models/portfolio_group_id_list.py +3 -3
  54. lusid/models/portfolio_id_list.py +3 -3
  55. lusid/models/property_list.py +3 -3
  56. lusid/models/reference_list.py +6 -5
  57. lusid/models/reference_list_type.py +1 -0
  58. lusid/models/settlement_cycle.py +79 -0
  59. lusid/models/share_class_dealing_breakdown.py +3 -2
  60. lusid/models/stock_dividend_event.py +17 -3
  61. lusid/models/string_list.py +3 -3
  62. lusid/models/transaction.py +9 -2
  63. lusid/models/transaction_date_windows.py +85 -0
  64. lusid/models/transaction_request.py +9 -2
  65. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +91 -0
  66. lusid/models/update_group_reconciliation_definition_request.py +107 -0
  67. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +84 -0
  68. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +115 -0
  69. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/METADATA +50 -23
  70. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/RECORD +71 -55
  71. lusid/models/metadata_key_value_response.py +0 -86
  72. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/WHEEL +0 -0
@@ -22,12 +22,19 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from datetime import datetime
24
24
 
25
- from pydantic.v1 import Field, constr, validator
25
+ from pydantic.v1 import Field, StrictStr, conint, conlist, constr, validator
26
26
 
27
27
  from typing import Optional
28
28
 
29
29
  from lusid.models.create_group_reconciliation_comparison_ruleset_request import CreateGroupReconciliationComparisonRulesetRequest
30
+ from lusid.models.create_group_reconciliation_definition_request import CreateGroupReconciliationDefinitionRequest
31
+ from lusid.models.deleted_entity_response import DeletedEntityResponse
30
32
  from lusid.models.group_reconciliation_comparison_ruleset import GroupReconciliationComparisonRuleset
33
+ from lusid.models.group_reconciliation_definition import GroupReconciliationDefinition
34
+ from lusid.models.paged_resource_list_of_group_reconciliation_comparison_ruleset import PagedResourceListOfGroupReconciliationComparisonRuleset
35
+ from lusid.models.paged_resource_list_of_group_reconciliation_definition import PagedResourceListOfGroupReconciliationDefinition
36
+ from lusid.models.update_group_reconciliation_comparison_ruleset_request import UpdateGroupReconciliationComparisonRulesetRequest
37
+ from lusid.models.update_group_reconciliation_definition_request import UpdateGroupReconciliationDefinitionRequest
31
38
 
32
39
  from lusid.api_client import ApiClient
33
40
  from lusid.api_response import ApiResponse
@@ -207,31 +214,1237 @@ class GroupReconciliationsApi:
207
214
  collection_formats=_collection_formats,
208
215
  _request_auth=_params.get('_request_auth'))
209
216
 
217
+ @overload
218
+ async def create_group_reconciliation_definition(self, create_group_reconciliation_definition_request : Annotated[Optional[CreateGroupReconciliationDefinitionRequest], Field(description="The definition Group Reconciliation Definition details")] = None, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
219
+ ...
220
+
221
+ @overload
222
+ def create_group_reconciliation_definition(self, create_group_reconciliation_definition_request : Annotated[Optional[CreateGroupReconciliationDefinitionRequest], Field(description="The definition Group Reconciliation Definition details")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
223
+ ...
224
+
225
+ @validate_arguments
226
+ def create_group_reconciliation_definition(self, create_group_reconciliation_definition_request : Annotated[Optional[CreateGroupReconciliationDefinitionRequest], Field(description="The definition Group Reconciliation Definition details")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationDefinition, Awaitable[GroupReconciliationDefinition]]: # noqa: E501
227
+ """[EXPERIMENTAL] CreateGroupReconciliationDefinition: Create Group Reconciliation Definition # noqa: E501
228
+
229
+ Creates a Group Reconciliation Definition # noqa: E501
230
+ This method makes a synchronous HTTP request by default. To make an
231
+ asynchronous HTTP request, please pass async_req=True
232
+
233
+ >>> thread = api.create_group_reconciliation_definition(create_group_reconciliation_definition_request, async_req=True)
234
+ >>> result = thread.get()
235
+
236
+ :param create_group_reconciliation_definition_request: The definition Group Reconciliation Definition details
237
+ :type create_group_reconciliation_definition_request: CreateGroupReconciliationDefinitionRequest
238
+ :param async_req: Whether to execute the request asynchronously.
239
+ :type async_req: bool, optional
240
+ :param _request_timeout: timeout setting for this request.
241
+ If one number provided, it will be total request
242
+ timeout. It can also be a pair (tuple) of
243
+ (connection, read) timeouts.
244
+ :return: Returns the result object.
245
+ If the method is called asynchronously,
246
+ returns the request thread.
247
+ :rtype: GroupReconciliationDefinition
248
+ """
249
+ kwargs['_return_http_data_only'] = True
250
+ if '_preload_content' in kwargs:
251
+ message = "Error! Please call the create_group_reconciliation_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.create_group_reconciliation_definition_with_http_info(create_group_reconciliation_definition_request, **kwargs) # noqa: E501
256
+
257
+ @validate_arguments
258
+ def create_group_reconciliation_definition_with_http_info(self, create_group_reconciliation_definition_request : Annotated[Optional[CreateGroupReconciliationDefinitionRequest], Field(description="The definition Group Reconciliation Definition details")] = None, **kwargs) -> ApiResponse: # noqa: E501
259
+ """[EXPERIMENTAL] CreateGroupReconciliationDefinition: Create Group Reconciliation Definition # noqa: E501
260
+
261
+ Creates a Group Reconciliation Definition # 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.create_group_reconciliation_definition_with_http_info(create_group_reconciliation_definition_request, async_req=True)
266
+ >>> result = thread.get()
267
+
268
+ :param create_group_reconciliation_definition_request: The definition Group Reconciliation Definition details
269
+ :type create_group_reconciliation_definition_request: CreateGroupReconciliationDefinitionRequest
270
+ :param async_req: Whether to execute the request asynchronously.
271
+ :type async_req: bool, optional
272
+ :param _preload_content: if False, the ApiResponse.data will
273
+ be set to none and raw_data will store the
274
+ HTTP response body without reading/decoding.
275
+ Default is True.
276
+ :type _preload_content: bool, optional
277
+ :param _return_http_data_only: response data instead of ApiResponse
278
+ object with status code, headers, etc
279
+ :type _return_http_data_only: bool, optional
280
+ :param _request_timeout: timeout setting for this request. If one
281
+ number provided, it will be total request
282
+ timeout. It can also be a pair (tuple) of
283
+ (connection, read) timeouts.
284
+ :param _request_auth: set to override the auth_settings for an a single
285
+ request; this effectively ignores the authentication
286
+ in the spec for a single request.
287
+ :type _request_auth: dict, optional
288
+ :type _content_type: string, optional: force content-type for the request
289
+ :return: Returns the result object.
290
+ If the method is called asynchronously,
291
+ returns the request thread.
292
+ :rtype: tuple(GroupReconciliationDefinition, status_code(int), headers(HTTPHeaderDict))
293
+ """
294
+
295
+ _params = locals()
296
+
297
+ _all_params = [
298
+ 'create_group_reconciliation_definition_request'
299
+ ]
300
+ _all_params.extend(
301
+ [
302
+ 'async_req',
303
+ '_return_http_data_only',
304
+ '_preload_content',
305
+ '_request_timeout',
306
+ '_request_auth',
307
+ '_content_type',
308
+ '_headers'
309
+ ]
310
+ )
311
+
312
+ # validate the arguments
313
+ for _key, _val in _params['kwargs'].items():
314
+ if _key not in _all_params:
315
+ raise ApiTypeError(
316
+ "Got an unexpected keyword argument '%s'"
317
+ " to method create_group_reconciliation_definition" % _key
318
+ )
319
+ _params[_key] = _val
320
+ del _params['kwargs']
321
+
322
+ _collection_formats = {}
323
+
324
+ # process the path parameters
325
+ _path_params = {}
326
+
327
+ # process the query parameters
328
+ _query_params = []
329
+ # process the header parameters
330
+ _header_params = dict(_params.get('_headers', {}))
331
+ # process the form parameters
332
+ _form_params = []
333
+ _files = {}
334
+ # process the body parameter
335
+ _body_params = None
336
+ if _params['create_group_reconciliation_definition_request'] is not None:
337
+ _body_params = _params['create_group_reconciliation_definition_request']
338
+
339
+ # set the HTTP header `Accept`
340
+ _header_params['Accept'] = self.api_client.select_header_accept(
341
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
342
+
343
+ # set the HTTP header `Content-Type`
344
+ _content_types_list = _params.get('_content_type',
345
+ self.api_client.select_header_content_type(
346
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
347
+ if _content_types_list:
348
+ _header_params['Content-Type'] = _content_types_list
349
+
350
+ # authentication setting
351
+ _auth_settings = ['oauth2'] # noqa: E501
352
+
353
+ _response_types_map = {
354
+ '201': "GroupReconciliationDefinition",
355
+ '400': "LusidValidationProblemDetails",
356
+ }
357
+
358
+ return self.api_client.call_api(
359
+ '/api/reconciliations/groupreconciliationdefinitions', 'POST',
360
+ _path_params,
361
+ _query_params,
362
+ _header_params,
363
+ body=_body_params,
364
+ post_params=_form_params,
365
+ files=_files,
366
+ response_types_map=_response_types_map,
367
+ auth_settings=_auth_settings,
368
+ async_req=_params.get('async_req'),
369
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
370
+ _preload_content=_params.get('_preload_content', True),
371
+ _request_timeout=_params.get('_request_timeout'),
372
+ collection_formats=_collection_formats,
373
+ _request_auth=_params.get('_request_auth'))
374
+
375
+ @overload
376
+ async def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
377
+ ...
378
+
379
+ @overload
380
+ def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
381
+ ...
382
+
383
+ @validate_arguments
384
+ def delete_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
385
+ """[EXPERIMENTAL] DeleteComparisonRuleset: Deletes a particular Group Reconciliation Comparison Ruleset # noqa: E501
386
+
387
+ The deletion will take effect from the reconciliation comparison ruleset deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
388
+ This method makes a synchronous HTTP request by default. To make an
389
+ asynchronous HTTP request, please pass async_req=True
390
+
391
+ >>> thread = api.delete_comparison_ruleset(scope, code, async_req=True)
392
+ >>> result = thread.get()
393
+
394
+ :param scope: The scope of the specified comparison ruleset. (required)
395
+ :type scope: str
396
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
397
+ :type code: str
398
+ :param async_req: Whether to execute the request asynchronously.
399
+ :type async_req: bool, optional
400
+ :param _request_timeout: timeout setting for this request.
401
+ If one number provided, it will be total request
402
+ timeout. It can also be a pair (tuple) of
403
+ (connection, read) timeouts.
404
+ :return: Returns the result object.
405
+ If the method is called asynchronously,
406
+ returns the request thread.
407
+ :rtype: DeletedEntityResponse
408
+ """
409
+ kwargs['_return_http_data_only'] = True
410
+ if '_preload_content' in kwargs:
411
+ message = "Error! Please call the delete_comparison_ruleset_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
412
+ raise ValueError(message)
413
+ if async_req is not None:
414
+ kwargs['async_req'] = async_req
415
+ return self.delete_comparison_ruleset_with_http_info(scope, code, **kwargs) # noqa: E501
416
+
417
+ @validate_arguments
418
+ def delete_comparison_ruleset_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], **kwargs) -> ApiResponse: # noqa: E501
419
+ """[EXPERIMENTAL] DeleteComparisonRuleset: Deletes a particular Group Reconciliation Comparison Ruleset # noqa: E501
420
+
421
+ The deletion will take effect from the reconciliation comparison ruleset deletion datetime. i.e. will no longer exist at any asAt datetime after the asAt datetime of deletion. # noqa: E501
422
+ This method makes a synchronous HTTP request by default. To make an
423
+ asynchronous HTTP request, please pass async_req=True
424
+
425
+ >>> thread = api.delete_comparison_ruleset_with_http_info(scope, code, async_req=True)
426
+ >>> result = thread.get()
427
+
428
+ :param scope: The scope of the specified comparison ruleset. (required)
429
+ :type scope: str
430
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
431
+ :type code: str
432
+ :param async_req: Whether to execute the request asynchronously.
433
+ :type async_req: bool, optional
434
+ :param _preload_content: if False, the ApiResponse.data will
435
+ be set to none and raw_data will store the
436
+ HTTP response body without reading/decoding.
437
+ Default is True.
438
+ :type _preload_content: bool, optional
439
+ :param _return_http_data_only: response data instead of ApiResponse
440
+ object with status code, headers, etc
441
+ :type _return_http_data_only: bool, optional
442
+ :param _request_timeout: timeout setting for this request. If one
443
+ number provided, it will be total request
444
+ timeout. It can also be a pair (tuple) of
445
+ (connection, read) timeouts.
446
+ :param _request_auth: set to override the auth_settings for an a single
447
+ request; this effectively ignores the authentication
448
+ in the spec for a single request.
449
+ :type _request_auth: dict, optional
450
+ :type _content_type: string, optional: force content-type for the request
451
+ :return: Returns the result object.
452
+ If the method is called asynchronously,
453
+ returns the request thread.
454
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
455
+ """
456
+
457
+ _params = locals()
458
+
459
+ _all_params = [
460
+ 'scope',
461
+ 'code'
462
+ ]
463
+ _all_params.extend(
464
+ [
465
+ 'async_req',
466
+ '_return_http_data_only',
467
+ '_preload_content',
468
+ '_request_timeout',
469
+ '_request_auth',
470
+ '_content_type',
471
+ '_headers'
472
+ ]
473
+ )
474
+
475
+ # validate the arguments
476
+ for _key, _val in _params['kwargs'].items():
477
+ if _key not in _all_params:
478
+ raise ApiTypeError(
479
+ "Got an unexpected keyword argument '%s'"
480
+ " to method delete_comparison_ruleset" % _key
481
+ )
482
+ _params[_key] = _val
483
+ del _params['kwargs']
484
+
485
+ _collection_formats = {}
486
+
487
+ # process the path parameters
488
+ _path_params = {}
489
+ if _params['scope']:
490
+ _path_params['scope'] = _params['scope']
491
+
492
+ if _params['code']:
493
+ _path_params['code'] = _params['code']
494
+
495
+
496
+ # process the query parameters
497
+ _query_params = []
498
+ # process the header parameters
499
+ _header_params = dict(_params.get('_headers', {}))
500
+ # process the form parameters
501
+ _form_params = []
502
+ _files = {}
503
+ # process the body parameter
504
+ _body_params = None
505
+ # set the HTTP header `Accept`
506
+ _header_params['Accept'] = self.api_client.select_header_accept(
507
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
508
+
509
+ # authentication setting
510
+ _auth_settings = ['oauth2'] # noqa: E501
511
+
512
+ _response_types_map = {
513
+ '200': "DeletedEntityResponse",
514
+ '400': "LusidValidationProblemDetails",
515
+ }
516
+
517
+ return self.api_client.call_api(
518
+ '/api/reconciliations/comparisonrulesets/{scope}/{code}', 'DELETE',
519
+ _path_params,
520
+ _query_params,
521
+ _header_params,
522
+ body=_body_params,
523
+ post_params=_form_params,
524
+ files=_files,
525
+ response_types_map=_response_types_map,
526
+ auth_settings=_auth_settings,
527
+ async_req=_params.get('async_req'),
528
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
529
+ _preload_content=_params.get('_preload_content', True),
530
+ _request_timeout=_params.get('_request_timeout'),
531
+ collection_formats=_collection_formats,
532
+ _request_auth=_params.get('_request_auth'))
533
+
534
+ @overload
535
+ async def delete_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to delete.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete.")], **kwargs) -> DeletedEntityResponse: # noqa: E501
536
+ ...
537
+
538
+ @overload
539
+ def delete_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to delete.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete.")], async_req: Optional[bool]=True, **kwargs) -> DeletedEntityResponse: # noqa: E501
540
+ ...
541
+
542
+ @validate_arguments
543
+ def delete_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to delete.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete.")], async_req: Optional[bool]=None, **kwargs) -> Union[DeletedEntityResponse, Awaitable[DeletedEntityResponse]]: # noqa: E501
544
+ """[EXPERIMENTAL] DeleteGroupReconciliationDefinition: Delete Group Reconciliation Definition # noqa: E501
545
+
546
+ Delete the group reconciliation definition. # noqa: E501
547
+ This method makes a synchronous HTTP request by default. To make an
548
+ asynchronous HTTP request, please pass async_req=True
549
+
550
+ >>> thread = api.delete_group_reconciliation_definition(scope, code, async_req=True)
551
+ >>> result = thread.get()
552
+
553
+ :param scope: The scope of the group reconciliation definition to delete. (required)
554
+ :type scope: str
555
+ :param code: The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete. (required)
556
+ :type code: str
557
+ :param async_req: Whether to execute the request asynchronously.
558
+ :type async_req: bool, optional
559
+ :param _request_timeout: timeout setting for this request.
560
+ If one number provided, it will be total request
561
+ timeout. It can also be a pair (tuple) of
562
+ (connection, read) timeouts.
563
+ :return: Returns the result object.
564
+ If the method is called asynchronously,
565
+ returns the request thread.
566
+ :rtype: DeletedEntityResponse
567
+ """
568
+ kwargs['_return_http_data_only'] = True
569
+ if '_preload_content' in kwargs:
570
+ message = "Error! Please call the delete_group_reconciliation_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
571
+ raise ValueError(message)
572
+ if async_req is not None:
573
+ kwargs['async_req'] = async_req
574
+ return self.delete_group_reconciliation_definition_with_http_info(scope, code, **kwargs) # noqa: E501
575
+
576
+ @validate_arguments
577
+ def delete_group_reconciliation_definition_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to delete.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete.")], **kwargs) -> ApiResponse: # noqa: E501
578
+ """[EXPERIMENTAL] DeleteGroupReconciliationDefinition: Delete Group Reconciliation Definition # noqa: E501
579
+
580
+ Delete the group reconciliation definition. # noqa: E501
581
+ This method makes a synchronous HTTP request by default. To make an
582
+ asynchronous HTTP request, please pass async_req=True
583
+
584
+ >>> thread = api.delete_group_reconciliation_definition_with_http_info(scope, code, async_req=True)
585
+ >>> result = thread.get()
586
+
587
+ :param scope: The scope of the group reconciliation definition to delete. (required)
588
+ :type scope: str
589
+ :param code: The code of the group reconciliation definition to delete. Together with the scope this uniquely identifies the group reconciliation definition to delete. (required)
590
+ :type code: str
591
+ :param async_req: Whether to execute the request asynchronously.
592
+ :type async_req: bool, optional
593
+ :param _preload_content: if False, the ApiResponse.data will
594
+ be set to none and raw_data will store the
595
+ HTTP response body without reading/decoding.
596
+ Default is True.
597
+ :type _preload_content: bool, optional
598
+ :param _return_http_data_only: response data instead of ApiResponse
599
+ object with status code, headers, etc
600
+ :type _return_http_data_only: bool, optional
601
+ :param _request_timeout: timeout setting for this request. If one
602
+ number provided, it will be total request
603
+ timeout. It can also be a pair (tuple) of
604
+ (connection, read) timeouts.
605
+ :param _request_auth: set to override the auth_settings for an a single
606
+ request; this effectively ignores the authentication
607
+ in the spec for a single request.
608
+ :type _request_auth: dict, optional
609
+ :type _content_type: string, optional: force content-type for the request
610
+ :return: Returns the result object.
611
+ If the method is called asynchronously,
612
+ returns the request thread.
613
+ :rtype: tuple(DeletedEntityResponse, status_code(int), headers(HTTPHeaderDict))
614
+ """
615
+
616
+ _params = locals()
617
+
618
+ _all_params = [
619
+ 'scope',
620
+ 'code'
621
+ ]
622
+ _all_params.extend(
623
+ [
624
+ 'async_req',
625
+ '_return_http_data_only',
626
+ '_preload_content',
627
+ '_request_timeout',
628
+ '_request_auth',
629
+ '_content_type',
630
+ '_headers'
631
+ ]
632
+ )
633
+
634
+ # validate the arguments
635
+ for _key, _val in _params['kwargs'].items():
636
+ if _key not in _all_params:
637
+ raise ApiTypeError(
638
+ "Got an unexpected keyword argument '%s'"
639
+ " to method delete_group_reconciliation_definition" % _key
640
+ )
641
+ _params[_key] = _val
642
+ del _params['kwargs']
643
+
644
+ _collection_formats = {}
645
+
646
+ # process the path parameters
647
+ _path_params = {}
648
+ if _params['scope']:
649
+ _path_params['scope'] = _params['scope']
650
+
651
+ if _params['code']:
652
+ _path_params['code'] = _params['code']
653
+
654
+
655
+ # process the query parameters
656
+ _query_params = []
657
+ # process the header parameters
658
+ _header_params = dict(_params.get('_headers', {}))
659
+ # process the form parameters
660
+ _form_params = []
661
+ _files = {}
662
+ # process the body parameter
663
+ _body_params = None
664
+ # set the HTTP header `Accept`
665
+ _header_params['Accept'] = self.api_client.select_header_accept(
666
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
667
+
668
+ # authentication setting
669
+ _auth_settings = ['oauth2'] # noqa: E501
670
+
671
+ _response_types_map = {
672
+ '200': "DeletedEntityResponse",
673
+ '400': "LusidValidationProblemDetails",
674
+ }
675
+
676
+ return self.api_client.call_api(
677
+ '/api/reconciliations/groupreconciliationdefinitions/{scope}/{code}', 'DELETE',
678
+ _path_params,
679
+ _query_params,
680
+ _header_params,
681
+ body=_body_params,
682
+ post_params=_form_params,
683
+ files=_files,
684
+ response_types_map=_response_types_map,
685
+ auth_settings=_auth_settings,
686
+ async_req=_params.get('async_req'),
687
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
688
+ _preload_content=_params.get('_preload_content', True),
689
+ _request_timeout=_params.get('_request_timeout'),
690
+ collection_formats=_collection_formats,
691
+ _request_auth=_params.get('_request_auth'))
692
+
210
693
  @overload
211
694
  async def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
212
695
  ...
213
696
 
214
697
  @overload
215
- def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
698
+ def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
699
+ ...
700
+
701
+ @validate_arguments
702
+ def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationComparisonRuleset, Awaitable[GroupReconciliationComparisonRuleset]]: # noqa: E501
703
+ """[EXPERIMENTAL] GetComparisonRuleset: Get a single Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
704
+
705
+ Retrieves one Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
706
+ This method makes a synchronous HTTP request by default. To make an
707
+ asynchronous HTTP request, please pass async_req=True
708
+
709
+ >>> thread = api.get_comparison_ruleset(scope, code, as_at, async_req=True)
710
+ >>> result = thread.get()
711
+
712
+ :param scope: The scope of the specified comparison ruleset. (required)
713
+ :type scope: str
714
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
715
+ :type code: str
716
+ :param as_at: The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.
717
+ :type as_at: datetime
718
+ :param async_req: Whether to execute the request asynchronously.
719
+ :type async_req: bool, optional
720
+ :param _request_timeout: timeout setting for this request.
721
+ If one number provided, it will be total request
722
+ timeout. It can also be a pair (tuple) of
723
+ (connection, read) timeouts.
724
+ :return: Returns the result object.
725
+ If the method is called asynchronously,
726
+ returns the request thread.
727
+ :rtype: GroupReconciliationComparisonRuleset
728
+ """
729
+ kwargs['_return_http_data_only'] = True
730
+ if '_preload_content' in kwargs:
731
+ message = "Error! Please call the get_comparison_ruleset_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
732
+ raise ValueError(message)
733
+ if async_req is not None:
734
+ kwargs['async_req'] = async_req
735
+ return self.get_comparison_ruleset_with_http_info(scope, code, as_at, **kwargs) # noqa: E501
736
+
737
+ @validate_arguments
738
+ def get_comparison_ruleset_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
739
+ """[EXPERIMENTAL] GetComparisonRuleset: Get a single Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
740
+
741
+ Retrieves one Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
742
+ This method makes a synchronous HTTP request by default. To make an
743
+ asynchronous HTTP request, please pass async_req=True
744
+
745
+ >>> thread = api.get_comparison_ruleset_with_http_info(scope, code, as_at, async_req=True)
746
+ >>> result = thread.get()
747
+
748
+ :param scope: The scope of the specified comparison ruleset. (required)
749
+ :type scope: str
750
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
751
+ :type code: str
752
+ :param as_at: The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.
753
+ :type as_at: datetime
754
+ :param async_req: Whether to execute the request asynchronously.
755
+ :type async_req: bool, optional
756
+ :param _preload_content: if False, the ApiResponse.data will
757
+ be set to none and raw_data will store the
758
+ HTTP response body without reading/decoding.
759
+ Default is True.
760
+ :type _preload_content: bool, optional
761
+ :param _return_http_data_only: response data instead of ApiResponse
762
+ object with status code, headers, etc
763
+ :type _return_http_data_only: bool, optional
764
+ :param _request_timeout: timeout setting for this request. If one
765
+ number provided, it will be total request
766
+ timeout. It can also be a pair (tuple) of
767
+ (connection, read) timeouts.
768
+ :param _request_auth: set to override the auth_settings for an a single
769
+ request; this effectively ignores the authentication
770
+ in the spec for a single request.
771
+ :type _request_auth: dict, optional
772
+ :type _content_type: string, optional: force content-type for the request
773
+ :return: Returns the result object.
774
+ If the method is called asynchronously,
775
+ returns the request thread.
776
+ :rtype: tuple(GroupReconciliationComparisonRuleset, status_code(int), headers(HTTPHeaderDict))
777
+ """
778
+
779
+ _params = locals()
780
+
781
+ _all_params = [
782
+ 'scope',
783
+ 'code',
784
+ 'as_at'
785
+ ]
786
+ _all_params.extend(
787
+ [
788
+ 'async_req',
789
+ '_return_http_data_only',
790
+ '_preload_content',
791
+ '_request_timeout',
792
+ '_request_auth',
793
+ '_content_type',
794
+ '_headers'
795
+ ]
796
+ )
797
+
798
+ # validate the arguments
799
+ for _key, _val in _params['kwargs'].items():
800
+ if _key not in _all_params:
801
+ raise ApiTypeError(
802
+ "Got an unexpected keyword argument '%s'"
803
+ " to method get_comparison_ruleset" % _key
804
+ )
805
+ _params[_key] = _val
806
+ del _params['kwargs']
807
+
808
+ _collection_formats = {}
809
+
810
+ # process the path parameters
811
+ _path_params = {}
812
+ if _params['scope']:
813
+ _path_params['scope'] = _params['scope']
814
+
815
+ if _params['code']:
816
+ _path_params['code'] = _params['code']
817
+
818
+
819
+ # process the query parameters
820
+ _query_params = []
821
+ if _params.get('as_at') is not None: # noqa: E501
822
+ if isinstance(_params['as_at'], datetime):
823
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
824
+ else:
825
+ _query_params.append(('asAt', _params['as_at']))
826
+
827
+ # process the header parameters
828
+ _header_params = dict(_params.get('_headers', {}))
829
+ # process the form parameters
830
+ _form_params = []
831
+ _files = {}
832
+ # process the body parameter
833
+ _body_params = None
834
+ # set the HTTP header `Accept`
835
+ _header_params['Accept'] = self.api_client.select_header_accept(
836
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
837
+
838
+ # authentication setting
839
+ _auth_settings = ['oauth2'] # noqa: E501
840
+
841
+ _response_types_map = {
842
+ '200': "GroupReconciliationComparisonRuleset",
843
+ '400': "LusidValidationProblemDetails",
844
+ }
845
+
846
+ return self.api_client.call_api(
847
+ '/api/reconciliations/comparisonrulesets/{scope}/{code}', 'GET',
848
+ _path_params,
849
+ _query_params,
850
+ _header_params,
851
+ body=_body_params,
852
+ post_params=_form_params,
853
+ files=_files,
854
+ response_types_map=_response_types_map,
855
+ auth_settings=_auth_settings,
856
+ async_req=_params.get('async_req'),
857
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
858
+ _preload_content=_params.get('_preload_content', True),
859
+ _request_timeout=_params.get('_request_timeout'),
860
+ collection_formats=_collection_formats,
861
+ _request_auth=_params.get('_request_auth'))
862
+
863
+ @overload
864
+ async def get_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to retrieve.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.")] = None, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
865
+ ...
866
+
867
+ @overload
868
+ def get_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to retrieve.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
869
+ ...
870
+
871
+ @validate_arguments
872
+ def get_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to retrieve.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationDefinition, Awaitable[GroupReconciliationDefinition]]: # noqa: E501
873
+ """[EXPERIMENTAL] GetGroupReconciliationDefinition: Get group reconciliation definition # noqa: E501
874
+
875
+ Retrieves a Group Reconciliation Definition by scope and code # noqa: E501
876
+ This method makes a synchronous HTTP request by default. To make an
877
+ asynchronous HTTP request, please pass async_req=True
878
+
879
+ >>> thread = api.get_group_reconciliation_definition(scope, code, effective_at, as_at, async_req=True)
880
+ >>> result = thread.get()
881
+
882
+ :param scope: The scope of the group reconciliation definition to retrieve. (required)
883
+ :type scope: str
884
+ :param code: The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition. (required)
885
+ :type code: str
886
+ :param effective_at: The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.
887
+ :type effective_at: str
888
+ :param as_at: The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.
889
+ :type as_at: datetime
890
+ :param async_req: Whether to execute the request asynchronously.
891
+ :type async_req: bool, optional
892
+ :param _request_timeout: timeout setting for this request.
893
+ If one number provided, it will be total request
894
+ timeout. It can also be a pair (tuple) of
895
+ (connection, read) timeouts.
896
+ :return: Returns the result object.
897
+ If the method is called asynchronously,
898
+ returns the request thread.
899
+ :rtype: GroupReconciliationDefinition
900
+ """
901
+ kwargs['_return_http_data_only'] = True
902
+ if '_preload_content' in kwargs:
903
+ message = "Error! Please call the get_group_reconciliation_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
904
+ raise ValueError(message)
905
+ if async_req is not None:
906
+ kwargs['async_req'] = async_req
907
+ return self.get_group_reconciliation_definition_with_http_info(scope, code, effective_at, as_at, **kwargs) # noqa: E501
908
+
909
+ @validate_arguments
910
+ def get_group_reconciliation_definition_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to retrieve.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition.")], effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
911
+ """[EXPERIMENTAL] GetGroupReconciliationDefinition: Get group reconciliation definition # noqa: E501
912
+
913
+ Retrieves a Group Reconciliation Definition by scope and code # noqa: E501
914
+ This method makes a synchronous HTTP request by default. To make an
915
+ asynchronous HTTP request, please pass async_req=True
916
+
917
+ >>> thread = api.get_group_reconciliation_definition_with_http_info(scope, code, effective_at, as_at, async_req=True)
918
+ >>> result = thread.get()
919
+
920
+ :param scope: The scope of the group reconciliation definition to retrieve. (required)
921
+ :type scope: str
922
+ :param code: The code of the group reconciliation definition to retrieve. Together with the scope this uniquely identifies the group reconciliation definition. (required)
923
+ :type code: str
924
+ :param effective_at: The effective datetime or cut label at which to retrieve the group reconciliation definition. Defaults to the current LUSID system datetime if not specified.
925
+ :type effective_at: str
926
+ :param as_at: The asAt datetime at which to retrieve the group reconciliation definition. Defaults to return the latest version of the portfolio group definition if not specified.
927
+ :type as_at: datetime
928
+ :param async_req: Whether to execute the request asynchronously.
929
+ :type async_req: bool, optional
930
+ :param _preload_content: if False, the ApiResponse.data will
931
+ be set to none and raw_data will store the
932
+ HTTP response body without reading/decoding.
933
+ Default is True.
934
+ :type _preload_content: bool, optional
935
+ :param _return_http_data_only: response data instead of ApiResponse
936
+ object with status code, headers, etc
937
+ :type _return_http_data_only: bool, optional
938
+ :param _request_timeout: timeout setting for this request. If one
939
+ number provided, it will be total request
940
+ timeout. It can also be a pair (tuple) of
941
+ (connection, read) timeouts.
942
+ :param _request_auth: set to override the auth_settings for an a single
943
+ request; this effectively ignores the authentication
944
+ in the spec for a single request.
945
+ :type _request_auth: dict, optional
946
+ :type _content_type: string, optional: force content-type for the request
947
+ :return: Returns the result object.
948
+ If the method is called asynchronously,
949
+ returns the request thread.
950
+ :rtype: tuple(GroupReconciliationDefinition, status_code(int), headers(HTTPHeaderDict))
951
+ """
952
+
953
+ _params = locals()
954
+
955
+ _all_params = [
956
+ 'scope',
957
+ 'code',
958
+ 'effective_at',
959
+ 'as_at'
960
+ ]
961
+ _all_params.extend(
962
+ [
963
+ 'async_req',
964
+ '_return_http_data_only',
965
+ '_preload_content',
966
+ '_request_timeout',
967
+ '_request_auth',
968
+ '_content_type',
969
+ '_headers'
970
+ ]
971
+ )
972
+
973
+ # validate the arguments
974
+ for _key, _val in _params['kwargs'].items():
975
+ if _key not in _all_params:
976
+ raise ApiTypeError(
977
+ "Got an unexpected keyword argument '%s'"
978
+ " to method get_group_reconciliation_definition" % _key
979
+ )
980
+ _params[_key] = _val
981
+ del _params['kwargs']
982
+
983
+ _collection_formats = {}
984
+
985
+ # process the path parameters
986
+ _path_params = {}
987
+ if _params['scope']:
988
+ _path_params['scope'] = _params['scope']
989
+
990
+ if _params['code']:
991
+ _path_params['code'] = _params['code']
992
+
993
+
994
+ # process the query parameters
995
+ _query_params = []
996
+ if _params.get('effective_at') is not None: # noqa: E501
997
+ _query_params.append(('effectiveAt', _params['effective_at']))
998
+
999
+ if _params.get('as_at') is not None: # noqa: E501
1000
+ if isinstance(_params['as_at'], datetime):
1001
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1002
+ else:
1003
+ _query_params.append(('asAt', _params['as_at']))
1004
+
1005
+ # process the header parameters
1006
+ _header_params = dict(_params.get('_headers', {}))
1007
+ # process the form parameters
1008
+ _form_params = []
1009
+ _files = {}
1010
+ # process the body parameter
1011
+ _body_params = None
1012
+ # set the HTTP header `Accept`
1013
+ _header_params['Accept'] = self.api_client.select_header_accept(
1014
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1015
+
1016
+ # authentication setting
1017
+ _auth_settings = ['oauth2'] # noqa: E501
1018
+
1019
+ _response_types_map = {
1020
+ '200': "GroupReconciliationDefinition",
1021
+ '400': "LusidValidationProblemDetails",
1022
+ }
1023
+
1024
+ return self.api_client.call_api(
1025
+ '/api/reconciliations/groupreconciliationdefinitions/{scope}/{code}', 'GET',
1026
+ _path_params,
1027
+ _query_params,
1028
+ _header_params,
1029
+ body=_body_params,
1030
+ post_params=_form_params,
1031
+ files=_files,
1032
+ response_types_map=_response_types_map,
1033
+ auth_settings=_auth_settings,
1034
+ async_req=_params.get('async_req'),
1035
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1036
+ _preload_content=_params.get('_preload_content', True),
1037
+ _request_timeout=_params.get('_request_timeout'),
1038
+ collection_formats=_collection_formats,
1039
+ _request_auth=_params.get('_request_auth'))
1040
+
1041
+ @overload
1042
+ async def list_comparison_rulesets(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets 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 comparison rulesets from a previous call to list comparison rulesets. 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, 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, 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, **kwargs) -> PagedResourceListOfGroupReconciliationComparisonRuleset: # noqa: E501
1043
+ ...
1044
+
1045
+ @overload
1046
+ def list_comparison_rulesets(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets 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 comparison rulesets from a previous call to list comparison rulesets. 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, 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, 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, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfGroupReconciliationComparisonRuleset: # noqa: E501
1047
+ ...
1048
+
1049
+ @validate_arguments
1050
+ def list_comparison_rulesets(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets 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 comparison rulesets from a previous call to list comparison rulesets. 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, 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, 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, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfGroupReconciliationComparisonRuleset, Awaitable[PagedResourceListOfGroupReconciliationComparisonRuleset]]: # noqa: E501
1051
+ """[EXPERIMENTAL] ListComparisonRulesets: Get a set of Group Reconciliation Comparison Rulesets # noqa: E501
1052
+
1053
+ Retrieves all Group Reconciliation Comparison Ruleset that fit the filter, in a specific order if sortBy is provided Supports pagination # noqa: E501
1054
+ This method makes a synchronous HTTP request by default. To make an
1055
+ asynchronous HTTP request, please pass async_req=True
1056
+
1057
+ >>> thread = api.list_comparison_rulesets(as_at, page, sort_by, limit, filter, async_req=True)
1058
+ >>> result = thread.get()
1059
+
1060
+ :param as_at: The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets if not specified.
1061
+ :type as_at: datetime
1062
+ :param page: The pagination token to use to continue listing comparison rulesets from a previous call to list comparison rulesets. 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.
1063
+ :type page: str
1064
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
1065
+ :type sort_by: List[str]
1066
+ :param limit: When paginating, limit the number of returned results to this many per page.
1067
+ :type limit: int
1068
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
1069
+ :type filter: str
1070
+ :param async_req: Whether to execute the request asynchronously.
1071
+ :type async_req: bool, optional
1072
+ :param _request_timeout: timeout setting for this request.
1073
+ If one number provided, it will be total request
1074
+ timeout. It can also be a pair (tuple) of
1075
+ (connection, read) timeouts.
1076
+ :return: Returns the result object.
1077
+ If the method is called asynchronously,
1078
+ returns the request thread.
1079
+ :rtype: PagedResourceListOfGroupReconciliationComparisonRuleset
1080
+ """
1081
+ kwargs['_return_http_data_only'] = True
1082
+ if '_preload_content' in kwargs:
1083
+ message = "Error! Please call the list_comparison_rulesets_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1084
+ raise ValueError(message)
1085
+ if async_req is not None:
1086
+ kwargs['async_req'] = async_req
1087
+ return self.list_comparison_rulesets_with_http_info(as_at, page, sort_by, limit, filter, **kwargs) # noqa: E501
1088
+
1089
+ @validate_arguments
1090
+ def list_comparison_rulesets_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets 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 comparison rulesets from a previous call to list comparison rulesets. 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, 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, 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, **kwargs) -> ApiResponse: # noqa: E501
1091
+ """[EXPERIMENTAL] ListComparisonRulesets: Get a set of Group Reconciliation Comparison Rulesets # noqa: E501
1092
+
1093
+ Retrieves all Group Reconciliation Comparison Ruleset that fit the filter, in a specific order if sortBy is provided Supports pagination # noqa: E501
1094
+ This method makes a synchronous HTTP request by default. To make an
1095
+ asynchronous HTTP request, please pass async_req=True
1096
+
1097
+ >>> thread = api.list_comparison_rulesets_with_http_info(as_at, page, sort_by, limit, filter, async_req=True)
1098
+ >>> result = thread.get()
1099
+
1100
+ :param as_at: The asAt datetime at which to retrieve the staging rule sets. Defaults to return the latest version of the staging rule sets if not specified.
1101
+ :type as_at: datetime
1102
+ :param page: The pagination token to use to continue listing comparison rulesets from a previous call to list comparison rulesets. 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.
1103
+ :type page: str
1104
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
1105
+ :type sort_by: List[str]
1106
+ :param limit: When paginating, limit the number of returned results to this many per page.
1107
+ :type limit: int
1108
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
1109
+ :type filter: str
1110
+ :param async_req: Whether to execute the request asynchronously.
1111
+ :type async_req: bool, optional
1112
+ :param _preload_content: if False, the ApiResponse.data will
1113
+ be set to none and raw_data will store the
1114
+ HTTP response body without reading/decoding.
1115
+ Default is True.
1116
+ :type _preload_content: bool, optional
1117
+ :param _return_http_data_only: response data instead of ApiResponse
1118
+ object with status code, headers, etc
1119
+ :type _return_http_data_only: bool, optional
1120
+ :param _request_timeout: timeout setting for this request. If one
1121
+ number provided, it will be total request
1122
+ timeout. It can also be a pair (tuple) of
1123
+ (connection, read) timeouts.
1124
+ :param _request_auth: set to override the auth_settings for an a single
1125
+ request; this effectively ignores the authentication
1126
+ in the spec for a single request.
1127
+ :type _request_auth: dict, optional
1128
+ :type _content_type: string, optional: force content-type for the request
1129
+ :return: Returns the result object.
1130
+ If the method is called asynchronously,
1131
+ returns the request thread.
1132
+ :rtype: tuple(PagedResourceListOfGroupReconciliationComparisonRuleset, status_code(int), headers(HTTPHeaderDict))
1133
+ """
1134
+
1135
+ _params = locals()
1136
+
1137
+ _all_params = [
1138
+ 'as_at',
1139
+ 'page',
1140
+ 'sort_by',
1141
+ 'limit',
1142
+ 'filter'
1143
+ ]
1144
+ _all_params.extend(
1145
+ [
1146
+ 'async_req',
1147
+ '_return_http_data_only',
1148
+ '_preload_content',
1149
+ '_request_timeout',
1150
+ '_request_auth',
1151
+ '_content_type',
1152
+ '_headers'
1153
+ ]
1154
+ )
1155
+
1156
+ # validate the arguments
1157
+ for _key, _val in _params['kwargs'].items():
1158
+ if _key not in _all_params:
1159
+ raise ApiTypeError(
1160
+ "Got an unexpected keyword argument '%s'"
1161
+ " to method list_comparison_rulesets" % _key
1162
+ )
1163
+ _params[_key] = _val
1164
+ del _params['kwargs']
1165
+
1166
+ _collection_formats = {}
1167
+
1168
+ # process the path parameters
1169
+ _path_params = {}
1170
+
1171
+ # process the query parameters
1172
+ _query_params = []
1173
+ if _params.get('as_at') is not None: # noqa: E501
1174
+ if isinstance(_params['as_at'], datetime):
1175
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1176
+ else:
1177
+ _query_params.append(('asAt', _params['as_at']))
1178
+
1179
+ if _params.get('page') is not None: # noqa: E501
1180
+ _query_params.append(('page', _params['page']))
1181
+
1182
+ if _params.get('sort_by') is not None: # noqa: E501
1183
+ _query_params.append(('sortBy', _params['sort_by']))
1184
+ _collection_formats['sortBy'] = 'multi'
1185
+
1186
+ if _params.get('limit') is not None: # noqa: E501
1187
+ _query_params.append(('limit', _params['limit']))
1188
+
1189
+ if _params.get('filter') is not None: # noqa: E501
1190
+ _query_params.append(('filter', _params['filter']))
1191
+
1192
+ # process the header parameters
1193
+ _header_params = dict(_params.get('_headers', {}))
1194
+ # process the form parameters
1195
+ _form_params = []
1196
+ _files = {}
1197
+ # process the body parameter
1198
+ _body_params = None
1199
+ # set the HTTP header `Accept`
1200
+ _header_params['Accept'] = self.api_client.select_header_accept(
1201
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1202
+
1203
+ # authentication setting
1204
+ _auth_settings = ['oauth2'] # noqa: E501
1205
+
1206
+ _response_types_map = {
1207
+ '200': "PagedResourceListOfGroupReconciliationComparisonRuleset",
1208
+ '400': "LusidValidationProblemDetails",
1209
+ }
1210
+
1211
+ return self.api_client.call_api(
1212
+ '/api/reconciliations/comparisonrulesets', 'GET',
1213
+ _path_params,
1214
+ _query_params,
1215
+ _header_params,
1216
+ body=_body_params,
1217
+ post_params=_form_params,
1218
+ files=_files,
1219
+ response_types_map=_response_types_map,
1220
+ auth_settings=_auth_settings,
1221
+ async_req=_params.get('async_req'),
1222
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1223
+ _preload_content=_params.get('_preload_content', True),
1224
+ _request_timeout=_params.get('_request_timeout'),
1225
+ collection_formats=_collection_formats,
1226
+ _request_auth=_params.get('_request_auth'))
1227
+
1228
+ @overload
1229
+ async def list_group_reconciliation_definitions(self, effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition 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 group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" 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, **kwargs) -> PagedResourceListOfGroupReconciliationDefinition: # noqa: E501
1230
+ ...
1231
+
1232
+ @overload
1233
+ def list_group_reconciliation_definitions(self, effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition 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 group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" 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, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfGroupReconciliationDefinition: # noqa: E501
1234
+ ...
1235
+
1236
+ @validate_arguments
1237
+ def list_group_reconciliation_definitions(self, effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition 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 group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" 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, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfGroupReconciliationDefinition, Awaitable[PagedResourceListOfGroupReconciliationDefinition]]: # noqa: E501
1238
+ """[EXPERIMENTAL] ListGroupReconciliationDefinitions: List group reconciliation definitions # noqa: E501
1239
+
1240
+ Lists Group Reconciliation Definitions matching any provided filter, limit and sorting rules # noqa: E501
1241
+ This method makes a synchronous HTTP request by default. To make an
1242
+ asynchronous HTTP request, please pass async_req=True
1243
+
1244
+ >>> thread = api.list_group_reconciliation_definitions(effective_at, as_at, page, limit, filter, sort_by, async_req=True)
1245
+ >>> result = thread.get()
1246
+
1247
+ :param effective_at: The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.
1248
+ :type effective_at: str
1249
+ :param as_at: The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition if not specified.
1250
+ :type as_at: datetime
1251
+ :param page: The pagination token to use to continue listing group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.
1252
+ :type page: str
1253
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.
1254
+ :type limit: int
1255
+ :param filter: Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1256
+ :type filter: str
1257
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
1258
+ :type sort_by: List[str]
1259
+ :param async_req: Whether to execute the request asynchronously.
1260
+ :type async_req: bool, optional
1261
+ :param _request_timeout: timeout setting for this request.
1262
+ If one number provided, it will be total request
1263
+ timeout. It can also be a pair (tuple) of
1264
+ (connection, read) timeouts.
1265
+ :return: Returns the result object.
1266
+ If the method is called asynchronously,
1267
+ returns the request thread.
1268
+ :rtype: PagedResourceListOfGroupReconciliationDefinition
1269
+ """
1270
+ kwargs['_return_http_data_only'] = True
1271
+ if '_preload_content' in kwargs:
1272
+ message = "Error! Please call the list_group_reconciliation_definitions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1273
+ raise ValueError(message)
1274
+ if async_req is not None:
1275
+ kwargs['async_req'] = async_req
1276
+ return self.list_group_reconciliation_definitions_with_http_info(effective_at, as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
1277
+
1278
+ @validate_arguments
1279
+ def list_group_reconciliation_definitions_with_http_info(self, effective_at : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition 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 group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" 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, **kwargs) -> ApiResponse: # noqa: E501
1280
+ """[EXPERIMENTAL] ListGroupReconciliationDefinitions: List group reconciliation definitions # noqa: E501
1281
+
1282
+ Lists Group Reconciliation Definitions matching any provided filter, limit and sorting rules # noqa: E501
1283
+ This method makes a synchronous HTTP request by default. To make an
1284
+ asynchronous HTTP request, please pass async_req=True
1285
+
1286
+ >>> thread = api.list_group_reconciliation_definitions_with_http_info(effective_at, as_at, page, limit, filter, sort_by, async_req=True)
1287
+ >>> result = thread.get()
1288
+
1289
+ :param effective_at: The effective datetime or cut label at which to list the group reconciliation definitions. Defaults to the current LUSID system datetime if not specified.
1290
+ :type effective_at: str
1291
+ :param as_at: The asAt datetime at which to list the group reconciliation definitions. Defaults to return the latest version of each group reconciliation definition if not specified.
1292
+ :type as_at: datetime
1293
+ :param page: The pagination token to use to continue listing group reconciliation definitions from a previous call to list group reconciliation definitions. This value is returned from the previous call. If a pagination token is provided the filter, effectiveAt, sortBy and asAt fields must not have changed since the original request.
1294
+ :type page: str
1295
+ :param limit: When paginating, limit the number of returned results to this many. Defaults to no limit if not specified.
1296
+ :type limit: int
1297
+ :param filter: Expression to filter the result set. For example, to filter on the Display Name, use \"displayName eq 'string'\" Read more about filtering results from LUSID here https://support.lusid.com/filtering-results-from-lusid.
1298
+ :type filter: str
1299
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
1300
+ :type sort_by: List[str]
1301
+ :param async_req: Whether to execute the request asynchronously.
1302
+ :type async_req: bool, optional
1303
+ :param _preload_content: if False, the ApiResponse.data will
1304
+ be set to none and raw_data will store the
1305
+ HTTP response body without reading/decoding.
1306
+ Default is True.
1307
+ :type _preload_content: bool, optional
1308
+ :param _return_http_data_only: response data instead of ApiResponse
1309
+ object with status code, headers, etc
1310
+ :type _return_http_data_only: bool, optional
1311
+ :param _request_timeout: timeout setting for this request. If one
1312
+ number provided, it will be total request
1313
+ timeout. It can also be a pair (tuple) of
1314
+ (connection, read) timeouts.
1315
+ :param _request_auth: set to override the auth_settings for an a single
1316
+ request; this effectively ignores the authentication
1317
+ in the spec for a single request.
1318
+ :type _request_auth: dict, optional
1319
+ :type _content_type: string, optional: force content-type for the request
1320
+ :return: Returns the result object.
1321
+ If the method is called asynchronously,
1322
+ returns the request thread.
1323
+ :rtype: tuple(PagedResourceListOfGroupReconciliationDefinition, status_code(int), headers(HTTPHeaderDict))
1324
+ """
1325
+
1326
+ _params = locals()
1327
+
1328
+ _all_params = [
1329
+ 'effective_at',
1330
+ 'as_at',
1331
+ 'page',
1332
+ 'limit',
1333
+ 'filter',
1334
+ 'sort_by'
1335
+ ]
1336
+ _all_params.extend(
1337
+ [
1338
+ 'async_req',
1339
+ '_return_http_data_only',
1340
+ '_preload_content',
1341
+ '_request_timeout',
1342
+ '_request_auth',
1343
+ '_content_type',
1344
+ '_headers'
1345
+ ]
1346
+ )
1347
+
1348
+ # validate the arguments
1349
+ for _key, _val in _params['kwargs'].items():
1350
+ if _key not in _all_params:
1351
+ raise ApiTypeError(
1352
+ "Got an unexpected keyword argument '%s'"
1353
+ " to method list_group_reconciliation_definitions" % _key
1354
+ )
1355
+ _params[_key] = _val
1356
+ del _params['kwargs']
1357
+
1358
+ _collection_formats = {}
1359
+
1360
+ # process the path parameters
1361
+ _path_params = {}
1362
+
1363
+ # process the query parameters
1364
+ _query_params = []
1365
+ if _params.get('effective_at') is not None: # noqa: E501
1366
+ _query_params.append(('effectiveAt', _params['effective_at']))
1367
+
1368
+ if _params.get('as_at') is not None: # noqa: E501
1369
+ if isinstance(_params['as_at'], datetime):
1370
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1371
+ else:
1372
+ _query_params.append(('asAt', _params['as_at']))
1373
+
1374
+ if _params.get('page') is not None: # noqa: E501
1375
+ _query_params.append(('page', _params['page']))
1376
+
1377
+ if _params.get('limit') is not None: # noqa: E501
1378
+ _query_params.append(('limit', _params['limit']))
1379
+
1380
+ if _params.get('filter') is not None: # noqa: E501
1381
+ _query_params.append(('filter', _params['filter']))
1382
+
1383
+ if _params.get('sort_by') is not None: # noqa: E501
1384
+ _query_params.append(('sortBy', _params['sort_by']))
1385
+ _collection_formats['sortBy'] = 'multi'
1386
+
1387
+ # process the header parameters
1388
+ _header_params = dict(_params.get('_headers', {}))
1389
+ # process the form parameters
1390
+ _form_params = []
1391
+ _files = {}
1392
+ # process the body parameter
1393
+ _body_params = None
1394
+ # set the HTTP header `Accept`
1395
+ _header_params['Accept'] = self.api_client.select_header_accept(
1396
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1397
+
1398
+ # authentication setting
1399
+ _auth_settings = ['oauth2'] # noqa: E501
1400
+
1401
+ _response_types_map = {
1402
+ '200': "PagedResourceListOfGroupReconciliationDefinition",
1403
+ '400': "LusidValidationProblemDetails",
1404
+ }
1405
+
1406
+ return self.api_client.call_api(
1407
+ '/api/reconciliations/groupreconciliationdefinitions', 'GET',
1408
+ _path_params,
1409
+ _query_params,
1410
+ _header_params,
1411
+ body=_body_params,
1412
+ post_params=_form_params,
1413
+ files=_files,
1414
+ response_types_map=_response_types_map,
1415
+ auth_settings=_auth_settings,
1416
+ async_req=_params.get('async_req'),
1417
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1418
+ _preload_content=_params.get('_preload_content', True),
1419
+ _request_timeout=_params.get('_request_timeout'),
1420
+ collection_formats=_collection_formats,
1421
+ _request_auth=_params.get('_request_auth'))
1422
+
1423
+ @overload
1424
+ async def update_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], update_group_reconciliation_comparison_ruleset_request : Annotated[Optional[UpdateGroupReconciliationComparisonRulesetRequest], Field(description="The request containing the updated details of the ruleset")] = None, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
1425
+ ...
1426
+
1427
+ @overload
1428
+ def update_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], update_group_reconciliation_comparison_ruleset_request : Annotated[Optional[UpdateGroupReconciliationComparisonRulesetRequest], Field(description="The request containing the updated details of the ruleset")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationComparisonRuleset: # noqa: E501
216
1429
  ...
217
1430
 
218
1431
  @validate_arguments
219
- def get_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationComparisonRuleset, Awaitable[GroupReconciliationComparisonRuleset]]: # noqa: E501
220
- """[EXPERIMENTAL] GetComparisonRuleset: Get a single Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
1432
+ def update_comparison_ruleset(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], update_group_reconciliation_comparison_ruleset_request : Annotated[Optional[UpdateGroupReconciliationComparisonRulesetRequest], Field(description="The request containing the updated details of the ruleset")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationComparisonRuleset, Awaitable[GroupReconciliationComparisonRuleset]]: # noqa: E501
1433
+ """[EXPERIMENTAL] UpdateComparisonRuleset: Update Group Reconciliation Comparison Ruleset defined by scope and code # noqa: E501
221
1434
 
222
- Retrieves one Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
1435
+ Overwrites an existing Group Reconciliation Comparison Ruleset Update request has the same required fields as Create apart from the Id # noqa: E501
223
1436
  This method makes a synchronous HTTP request by default. To make an
224
1437
  asynchronous HTTP request, please pass async_req=True
225
1438
 
226
- >>> thread = api.get_comparison_ruleset(scope, code, as_at, async_req=True)
1439
+ >>> thread = api.update_comparison_ruleset(scope, code, update_group_reconciliation_comparison_ruleset_request, async_req=True)
227
1440
  >>> result = thread.get()
228
1441
 
229
1442
  :param scope: The scope of the specified comparison ruleset. (required)
230
1443
  :type scope: str
231
- :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
1444
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
232
1445
  :type code: str
233
- :param as_at: The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.
234
- :type as_at: datetime
1446
+ :param update_group_reconciliation_comparison_ruleset_request: The request containing the updated details of the ruleset
1447
+ :type update_group_reconciliation_comparison_ruleset_request: UpdateGroupReconciliationComparisonRulesetRequest
235
1448
  :param async_req: Whether to execute the request asynchronously.
236
1449
  :type async_req: bool, optional
237
1450
  :param _request_timeout: timeout setting for this request.
@@ -245,29 +1458,29 @@ class GroupReconciliationsApi:
245
1458
  """
246
1459
  kwargs['_return_http_data_only'] = True
247
1460
  if '_preload_content' in kwargs:
248
- message = "Error! Please call the get_comparison_ruleset_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1461
+ message = "Error! Please call the update_comparison_ruleset_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
249
1462
  raise ValueError(message)
250
1463
  if async_req is not None:
251
1464
  kwargs['async_req'] = async_req
252
- return self.get_comparison_ruleset_with_http_info(scope, code, as_at, **kwargs) # noqa: E501
1465
+ return self.update_comparison_ruleset_with_http_info(scope, code, update_group_reconciliation_comparison_ruleset_request, **kwargs) # noqa: E501
253
1466
 
254
1467
  @validate_arguments
255
- def get_comparison_ruleset_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
256
- """[EXPERIMENTAL] GetComparisonRuleset: Get a single Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
1468
+ def update_comparison_ruleset_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the specified comparison ruleset.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset.")], update_group_reconciliation_comparison_ruleset_request : Annotated[Optional[UpdateGroupReconciliationComparisonRulesetRequest], Field(description="The request containing the updated details of the ruleset")] = None, **kwargs) -> ApiResponse: # noqa: E501
1469
+ """[EXPERIMENTAL] UpdateComparisonRuleset: Update Group Reconciliation Comparison Ruleset defined by scope and code # noqa: E501
257
1470
 
258
- Retrieves one Group Reconciliation Comparison Ruleset by scope and code # noqa: E501
1471
+ Overwrites an existing Group Reconciliation Comparison Ruleset Update request has the same required fields as Create apart from the Id # noqa: E501
259
1472
  This method makes a synchronous HTTP request by default. To make an
260
1473
  asynchronous HTTP request, please pass async_req=True
261
1474
 
262
- >>> thread = api.get_comparison_ruleset_with_http_info(scope, code, as_at, async_req=True)
1475
+ >>> thread = api.update_comparison_ruleset_with_http_info(scope, code, update_group_reconciliation_comparison_ruleset_request, async_req=True)
263
1476
  >>> result = thread.get()
264
1477
 
265
1478
  :param scope: The scope of the specified comparison ruleset. (required)
266
1479
  :type scope: str
267
- :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
1480
+ :param code: The code of the specified comparison ruleset. Together with the domain and scope this uniquely identifies the reconciliation comparison ruleset. (required)
268
1481
  :type code: str
269
- :param as_at: The asAt datetime at which to retrieve the comparison ruleset definition. Defaults to return the latest version of the definition if not specified.
270
- :type as_at: datetime
1482
+ :param update_group_reconciliation_comparison_ruleset_request: The request containing the updated details of the ruleset
1483
+ :type update_group_reconciliation_comparison_ruleset_request: UpdateGroupReconciliationComparisonRulesetRequest
271
1484
  :param async_req: Whether to execute the request asynchronously.
272
1485
  :type async_req: bool, optional
273
1486
  :param _preload_content: if False, the ApiResponse.data will
@@ -298,7 +1511,7 @@ class GroupReconciliationsApi:
298
1511
  _all_params = [
299
1512
  'scope',
300
1513
  'code',
301
- 'as_at'
1514
+ 'update_group_reconciliation_comparison_ruleset_request'
302
1515
  ]
303
1516
  _all_params.extend(
304
1517
  [
@@ -317,7 +1530,7 @@ class GroupReconciliationsApi:
317
1530
  if _key not in _all_params:
318
1531
  raise ApiTypeError(
319
1532
  "Got an unexpected keyword argument '%s'"
320
- " to method get_comparison_ruleset" % _key
1533
+ " to method update_comparison_ruleset" % _key
321
1534
  )
322
1535
  _params[_key] = _val
323
1536
  del _params['kwargs']
@@ -335,12 +1548,6 @@ class GroupReconciliationsApi:
335
1548
 
336
1549
  # process the query parameters
337
1550
  _query_params = []
338
- if _params.get('as_at') is not None: # noqa: E501
339
- if isinstance(_params['as_at'], datetime):
340
- _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
341
- else:
342
- _query_params.append(('asAt', _params['as_at']))
343
-
344
1551
  # process the header parameters
345
1552
  _header_params = dict(_params.get('_headers', {}))
346
1553
  # process the form parameters
@@ -348,10 +1555,20 @@ class GroupReconciliationsApi:
348
1555
  _files = {}
349
1556
  # process the body parameter
350
1557
  _body_params = None
1558
+ if _params['update_group_reconciliation_comparison_ruleset_request'] is not None:
1559
+ _body_params = _params['update_group_reconciliation_comparison_ruleset_request']
1560
+
351
1561
  # set the HTTP header `Accept`
352
1562
  _header_params['Accept'] = self.api_client.select_header_accept(
353
1563
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
354
1564
 
1565
+ # set the HTTP header `Content-Type`
1566
+ _content_types_list = _params.get('_content_type',
1567
+ self.api_client.select_header_content_type(
1568
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1569
+ if _content_types_list:
1570
+ _header_params['Content-Type'] = _content_types_list
1571
+
355
1572
  # authentication setting
356
1573
  _auth_settings = ['oauth2'] # noqa: E501
357
1574
 
@@ -361,7 +1578,181 @@ class GroupReconciliationsApi:
361
1578
  }
362
1579
 
363
1580
  return self.api_client.call_api(
364
- '/api/reconciliations/comparisonrulesets/{scope}/{code}', 'GET',
1581
+ '/api/reconciliations/comparisonrulesets/{scope}/{code}', 'PUT',
1582
+ _path_params,
1583
+ _query_params,
1584
+ _header_params,
1585
+ body=_body_params,
1586
+ post_params=_form_params,
1587
+ files=_files,
1588
+ response_types_map=_response_types_map,
1589
+ auth_settings=_auth_settings,
1590
+ async_req=_params.get('async_req'),
1591
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1592
+ _preload_content=_params.get('_preload_content', True),
1593
+ _request_timeout=_params.get('_request_timeout'),
1594
+ collection_formats=_collection_formats,
1595
+ _request_auth=_params.get('_request_auth'))
1596
+
1597
+ @overload
1598
+ async def update_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to update the details for.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition.")], update_group_reconciliation_definition_request : Annotated[Optional[UpdateGroupReconciliationDefinitionRequest], Field(description="The updated group reconciliation definition.")] = None, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
1599
+ ...
1600
+
1601
+ @overload
1602
+ def update_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to update the details for.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition.")], update_group_reconciliation_definition_request : Annotated[Optional[UpdateGroupReconciliationDefinitionRequest], Field(description="The updated group reconciliation definition.")] = None, async_req: Optional[bool]=True, **kwargs) -> GroupReconciliationDefinition: # noqa: E501
1603
+ ...
1604
+
1605
+ @validate_arguments
1606
+ def update_group_reconciliation_definition(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to update the details for.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition.")], update_group_reconciliation_definition_request : Annotated[Optional[UpdateGroupReconciliationDefinitionRequest], Field(description="The updated group reconciliation definition.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GroupReconciliationDefinition, Awaitable[GroupReconciliationDefinition]]: # noqa: E501
1607
+ """[EXPERIMENTAL] UpdateGroupReconciliationDefinition: Update group reconciliation definition # noqa: E501
1608
+
1609
+ Update the group reconciliation definition. # noqa: E501
1610
+ This method makes a synchronous HTTP request by default. To make an
1611
+ asynchronous HTTP request, please pass async_req=True
1612
+
1613
+ >>> thread = api.update_group_reconciliation_definition(scope, code, update_group_reconciliation_definition_request, async_req=True)
1614
+ >>> result = thread.get()
1615
+
1616
+ :param scope: The scope of the group reconciliation definition to update the details for. (required)
1617
+ :type scope: str
1618
+ :param code: The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition. (required)
1619
+ :type code: str
1620
+ :param update_group_reconciliation_definition_request: The updated group reconciliation definition.
1621
+ :type update_group_reconciliation_definition_request: UpdateGroupReconciliationDefinitionRequest
1622
+ :param async_req: Whether to execute the request asynchronously.
1623
+ :type async_req: bool, optional
1624
+ :param _request_timeout: timeout setting for this request.
1625
+ If one number provided, it will be total request
1626
+ timeout. It can also be a pair (tuple) of
1627
+ (connection, read) timeouts.
1628
+ :return: Returns the result object.
1629
+ If the method is called asynchronously,
1630
+ returns the request thread.
1631
+ :rtype: GroupReconciliationDefinition
1632
+ """
1633
+ kwargs['_return_http_data_only'] = True
1634
+ if '_preload_content' in kwargs:
1635
+ message = "Error! Please call the update_group_reconciliation_definition_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1636
+ raise ValueError(message)
1637
+ if async_req is not None:
1638
+ kwargs['async_req'] = async_req
1639
+ return self.update_group_reconciliation_definition_with_http_info(scope, code, update_group_reconciliation_definition_request, **kwargs) # noqa: E501
1640
+
1641
+ @validate_arguments
1642
+ def update_group_reconciliation_definition_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the group reconciliation definition to update the details for.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition.")], update_group_reconciliation_definition_request : Annotated[Optional[UpdateGroupReconciliationDefinitionRequest], Field(description="The updated group reconciliation definition.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1643
+ """[EXPERIMENTAL] UpdateGroupReconciliationDefinition: Update group reconciliation definition # noqa: E501
1644
+
1645
+ Update the group reconciliation definition. # noqa: E501
1646
+ This method makes a synchronous HTTP request by default. To make an
1647
+ asynchronous HTTP request, please pass async_req=True
1648
+
1649
+ >>> thread = api.update_group_reconciliation_definition_with_http_info(scope, code, update_group_reconciliation_definition_request, async_req=True)
1650
+ >>> result = thread.get()
1651
+
1652
+ :param scope: The scope of the group reconciliation definition to update the details for. (required)
1653
+ :type scope: str
1654
+ :param code: The code of the group reconciliation definition to update the details for. Together with the scope this uniquely identifies the group reconciliation definition. (required)
1655
+ :type code: str
1656
+ :param update_group_reconciliation_definition_request: The updated group reconciliation definition.
1657
+ :type update_group_reconciliation_definition_request: UpdateGroupReconciliationDefinitionRequest
1658
+ :param async_req: Whether to execute the request asynchronously.
1659
+ :type async_req: bool, optional
1660
+ :param _preload_content: if False, the ApiResponse.data will
1661
+ be set to none and raw_data will store the
1662
+ HTTP response body without reading/decoding.
1663
+ Default is True.
1664
+ :type _preload_content: bool, optional
1665
+ :param _return_http_data_only: response data instead of ApiResponse
1666
+ object with status code, headers, etc
1667
+ :type _return_http_data_only: bool, optional
1668
+ :param _request_timeout: timeout setting for this request. If one
1669
+ number provided, it will be total request
1670
+ timeout. It can also be a pair (tuple) of
1671
+ (connection, read) timeouts.
1672
+ :param _request_auth: set to override the auth_settings for an a single
1673
+ request; this effectively ignores the authentication
1674
+ in the spec for a single request.
1675
+ :type _request_auth: dict, optional
1676
+ :type _content_type: string, optional: force content-type for the request
1677
+ :return: Returns the result object.
1678
+ If the method is called asynchronously,
1679
+ returns the request thread.
1680
+ :rtype: tuple(GroupReconciliationDefinition, status_code(int), headers(HTTPHeaderDict))
1681
+ """
1682
+
1683
+ _params = locals()
1684
+
1685
+ _all_params = [
1686
+ 'scope',
1687
+ 'code',
1688
+ 'update_group_reconciliation_definition_request'
1689
+ ]
1690
+ _all_params.extend(
1691
+ [
1692
+ 'async_req',
1693
+ '_return_http_data_only',
1694
+ '_preload_content',
1695
+ '_request_timeout',
1696
+ '_request_auth',
1697
+ '_content_type',
1698
+ '_headers'
1699
+ ]
1700
+ )
1701
+
1702
+ # validate the arguments
1703
+ for _key, _val in _params['kwargs'].items():
1704
+ if _key not in _all_params:
1705
+ raise ApiTypeError(
1706
+ "Got an unexpected keyword argument '%s'"
1707
+ " to method update_group_reconciliation_definition" % _key
1708
+ )
1709
+ _params[_key] = _val
1710
+ del _params['kwargs']
1711
+
1712
+ _collection_formats = {}
1713
+
1714
+ # process the path parameters
1715
+ _path_params = {}
1716
+ if _params['scope']:
1717
+ _path_params['scope'] = _params['scope']
1718
+
1719
+ if _params['code']:
1720
+ _path_params['code'] = _params['code']
1721
+
1722
+
1723
+ # process the query parameters
1724
+ _query_params = []
1725
+ # process the header parameters
1726
+ _header_params = dict(_params.get('_headers', {}))
1727
+ # process the form parameters
1728
+ _form_params = []
1729
+ _files = {}
1730
+ # process the body parameter
1731
+ _body_params = None
1732
+ if _params['update_group_reconciliation_definition_request'] is not None:
1733
+ _body_params = _params['update_group_reconciliation_definition_request']
1734
+
1735
+ # set the HTTP header `Accept`
1736
+ _header_params['Accept'] = self.api_client.select_header_accept(
1737
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1738
+
1739
+ # set the HTTP header `Content-Type`
1740
+ _content_types_list = _params.get('_content_type',
1741
+ self.api_client.select_header_content_type(
1742
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1743
+ if _content_types_list:
1744
+ _header_params['Content-Type'] = _content_types_list
1745
+
1746
+ # authentication setting
1747
+ _auth_settings = ['oauth2'] # noqa: E501
1748
+
1749
+ _response_types_map = {
1750
+ '200': "GroupReconciliationDefinition",
1751
+ '400': "LusidValidationProblemDetails",
1752
+ }
1753
+
1754
+ return self.api_client.call_api(
1755
+ '/api/reconciliations/groupreconciliationdefinitions/{scope}/{code}', 'PUT',
365
1756
  _path_params,
366
1757
  _query_params,
367
1758
  _header_params,