lusid-sdk 2.1.238__py3-none-any.whl → 2.1.243__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lusid-sdk might be problematic. Click here for more details.

Files changed (50) hide show
  1. lusid/__init__.py +6 -0
  2. lusid/api/entities_api.py +180 -0
  3. lusid/api/order_management_api.py +161 -1
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +6 -0
  6. lusid/models/basket.py +3 -3
  7. lusid/models/bond.py +3 -3
  8. lusid/models/cap_floor.py +3 -3
  9. lusid/models/cash_perpetual.py +3 -3
  10. lusid/models/cds_index.py +3 -3
  11. lusid/models/complex_bond.py +3 -3
  12. lusid/models/contract_for_difference.py +3 -3
  13. lusid/models/credit_default_swap.py +3 -3
  14. lusid/models/equity.py +3 -3
  15. lusid/models/equity_option.py +3 -3
  16. lusid/models/equity_swap.py +3 -3
  17. lusid/models/exchange_traded_option.py +3 -3
  18. lusid/models/exotic_instrument.py +3 -3
  19. lusid/models/fixed_leg.py +3 -3
  20. lusid/models/flexible_loan.py +3 -3
  21. lusid/models/floating_leg.py +3 -3
  22. lusid/models/forward_rate_agreement.py +3 -3
  23. lusid/models/fund_share_class.py +3 -3
  24. lusid/models/funding_leg.py +3 -3
  25. lusid/models/future.py +3 -3
  26. lusid/models/fx_forward.py +3 -3
  27. lusid/models/fx_option.py +3 -3
  28. lusid/models/fx_swap.py +3 -3
  29. lusid/models/inflation_leg.py +3 -3
  30. lusid/models/inflation_linked_bond.py +3 -3
  31. lusid/models/inflation_swap.py +3 -3
  32. lusid/models/instrument.py +7 -1
  33. lusid/models/instrument_leg.py +3 -3
  34. lusid/models/instrument_type.py +2 -0
  35. lusid/models/interest_rate_swap.py +3 -3
  36. lusid/models/interest_rate_swaption.py +3 -3
  37. lusid/models/lusid_instrument.py +3 -3
  38. lusid/models/placement_update_request.py +116 -0
  39. lusid/models/property_definition_entity.py +146 -0
  40. lusid/models/reference_instrument.py +3 -3
  41. lusid/models/repo.py +3 -3
  42. lusid/models/simple_cash_flow_loan.py +3 -3
  43. lusid/models/simple_instrument.py +3 -3
  44. lusid/models/term_deposit.py +3 -3
  45. lusid/models/total_return_swap.py +3 -3
  46. lusid/models/update_placements_response.py +153 -0
  47. lusid/models/upsert_instruments_response.py +20 -1
  48. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/METADATA +8 -3
  49. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/RECORD +50 -47
  50. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/WHEEL +0 -0
lusid/__init__.py CHANGED
@@ -691,6 +691,7 @@ from lusid.models.place_blocks_request import PlaceBlocksRequest
691
691
  from lusid.models.placement import Placement
692
692
  from lusid.models.placement_request import PlacementRequest
693
693
  from lusid.models.placement_set_request import PlacementSetRequest
694
+ from lusid.models.placement_update_request import PlacementUpdateRequest
694
695
  from lusid.models.portfolio import Portfolio
695
696
  from lusid.models.portfolio_cash_flow import PortfolioCashFlow
696
697
  from lusid.models.portfolio_cash_ladder import PortfolioCashLadder
@@ -727,6 +728,7 @@ from lusid.models.pricing_model import PricingModel
727
728
  from lusid.models.pricing_options import PricingOptions
728
729
  from lusid.models.processed_command import ProcessedCommand
729
730
  from lusid.models.property_definition import PropertyDefinition
731
+ from lusid.models.property_definition_entity import PropertyDefinitionEntity
730
732
  from lusid.models.property_definition_search_result import PropertyDefinitionSearchResult
731
733
  from lusid.models.property_definition_type import PropertyDefinitionType
732
734
  from lusid.models.property_domain import PropertyDomain
@@ -1006,6 +1008,7 @@ from lusid.models.update_data_type_request import UpdateDataTypeRequest
1006
1008
  from lusid.models.update_derived_property_definition_request import UpdateDerivedPropertyDefinitionRequest
1007
1009
  from lusid.models.update_fee_type_request import UpdateFeeTypeRequest
1008
1010
  from lusid.models.update_instrument_identifier_request import UpdateInstrumentIdentifierRequest
1011
+ from lusid.models.update_placements_response import UpdatePlacementsResponse
1009
1012
  from lusid.models.update_portfolio_group_request import UpdatePortfolioGroupRequest
1010
1013
  from lusid.models.update_portfolio_request import UpdatePortfolioRequest
1011
1014
  from lusid.models.update_property_definition_request import UpdatePropertyDefinitionRequest
@@ -1767,6 +1770,7 @@ __all__ = [
1767
1770
  "Placement",
1768
1771
  "PlacementRequest",
1769
1772
  "PlacementSetRequest",
1773
+ "PlacementUpdateRequest",
1770
1774
  "Portfolio",
1771
1775
  "PortfolioCashFlow",
1772
1776
  "PortfolioCashLadder",
@@ -1803,6 +1807,7 @@ __all__ = [
1803
1807
  "PricingOptions",
1804
1808
  "ProcessedCommand",
1805
1809
  "PropertyDefinition",
1810
+ "PropertyDefinitionEntity",
1806
1811
  "PropertyDefinitionSearchResult",
1807
1812
  "PropertyDefinitionType",
1808
1813
  "PropertyDomain",
@@ -2082,6 +2087,7 @@ __all__ = [
2082
2087
  "UpdateDerivedPropertyDefinitionRequest",
2083
2088
  "UpdateFeeTypeRequest",
2084
2089
  "UpdateInstrumentIdentifierRequest",
2090
+ "UpdatePlacementsResponse",
2085
2091
  "UpdatePortfolioGroupRequest",
2086
2092
  "UpdatePortfolioRequest",
2087
2093
  "UpdatePropertyDefinitionRequest",
lusid/api/entities_api.py CHANGED
@@ -27,6 +27,7 @@ from pydantic.v1 import Field, StrictStr, conlist, constr, validator
27
27
  from typing import Optional
28
28
 
29
29
  from lusid.models.portfolio_entity import PortfolioEntity
30
+ from lusid.models.property_definition_entity import PropertyDefinitionEntity
30
31
  from lusid.models.resource_list_of_change import ResourceListOfChange
31
32
 
32
33
  from lusid.api_client import ApiClient
@@ -397,3 +398,182 @@ class EntitiesApi:
397
398
  _request_timeout=_params.get('_request_timeout'),
398
399
  collection_formats=_collection_formats,
399
400
  _request_auth=_params.get('_request_auth'))
401
+
402
+ @overload
403
+ async def get_property_definition_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the property definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime at which to retrieve the property 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 property definition. Defaults to returning the latest version of the property definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> PropertyDefinitionEntity: # noqa: E501
404
+ ...
405
+
406
+ @overload
407
+ def get_property_definition_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the property definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime at which to retrieve the property 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 property definition. Defaults to returning the latest version of the property definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=True, **kwargs) -> PropertyDefinitionEntity: # noqa: E501
408
+ ...
409
+
410
+ @validate_arguments
411
+ def get_property_definition_by_entity_unique_id(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the property definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime at which to retrieve the property 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 property definition. Defaults to returning the latest version of the property definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PropertyDefinitionEntity, Awaitable[PropertyDefinitionEntity]]: # noqa: E501
412
+ """[EXPERIMENTAL] GetPropertyDefinitionByEntityUniqueId: Get property definition by EntityUniqueId # noqa: E501
413
+
414
+ Retrieve a particular property definition. If the property definition is deleted, this will return the state of the property definition immediately prior to deletion. # noqa: E501
415
+ This method makes a synchronous HTTP request by default. To make an
416
+ asynchronous HTTP request, please pass async_req=True
417
+
418
+ >>> thread = api.get_property_definition_by_entity_unique_id(entity_unique_id, effective_at, as_at, previews, async_req=True)
419
+ >>> result = thread.get()
420
+
421
+ :param entity_unique_id: The universally unique identifier of the property definition. (required)
422
+ :type entity_unique_id: str
423
+ :param effective_at: The effective datetime at which to retrieve the property definition. Defaults to the current LUSID system datetime if not specified.
424
+ :type effective_at: str
425
+ :param as_at: The asAt datetime at which to retrieve the property definition. Defaults to returning the latest version of the property definition if not specified.
426
+ :type as_at: datetime
427
+ :param previews: The ids of the staged modifications to be previewed in the response.
428
+ :type previews: List[str]
429
+ :param async_req: Whether to execute the request asynchronously.
430
+ :type async_req: bool, optional
431
+ :param _request_timeout: timeout setting for this request.
432
+ If one number provided, it will be total request
433
+ timeout. It can also be a pair (tuple) of
434
+ (connection, read) timeouts.
435
+ :return: Returns the result object.
436
+ If the method is called asynchronously,
437
+ returns the request thread.
438
+ :rtype: PropertyDefinitionEntity
439
+ """
440
+ kwargs['_return_http_data_only'] = True
441
+ if '_preload_content' in kwargs:
442
+ message = "Error! Please call the get_property_definition_by_entity_unique_id_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
443
+ raise ValueError(message)
444
+ if async_req is not None:
445
+ kwargs['async_req'] = async_req
446
+ return self.get_property_definition_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, **kwargs) # noqa: E501
447
+
448
+ @validate_arguments
449
+ def get_property_definition_by_entity_unique_id_with_http_info(self, entity_unique_id : Annotated[constr(strict=True, max_length=40, min_length=30), Field(..., description="The universally unique identifier of the property definition.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime at which to retrieve the property 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 property definition. Defaults to returning the latest version of the property definition if not specified.")] = None, previews : Annotated[Optional[conlist(StrictStr)], Field(description="The ids of the staged modifications to be previewed in the response.")] = None, **kwargs) -> ApiResponse: # noqa: E501
450
+ """[EXPERIMENTAL] GetPropertyDefinitionByEntityUniqueId: Get property definition by EntityUniqueId # noqa: E501
451
+
452
+ Retrieve a particular property definition. If the property definition is deleted, this will return the state of the property definition immediately prior to deletion. # noqa: E501
453
+ This method makes a synchronous HTTP request by default. To make an
454
+ asynchronous HTTP request, please pass async_req=True
455
+
456
+ >>> thread = api.get_property_definition_by_entity_unique_id_with_http_info(entity_unique_id, effective_at, as_at, previews, async_req=True)
457
+ >>> result = thread.get()
458
+
459
+ :param entity_unique_id: The universally unique identifier of the property definition. (required)
460
+ :type entity_unique_id: str
461
+ :param effective_at: The effective datetime at which to retrieve the property definition. Defaults to the current LUSID system datetime if not specified.
462
+ :type effective_at: str
463
+ :param as_at: The asAt datetime at which to retrieve the property definition. Defaults to returning the latest version of the property definition if not specified.
464
+ :type as_at: datetime
465
+ :param previews: The ids of the staged modifications to be previewed in the response.
466
+ :type previews: List[str]
467
+ :param async_req: Whether to execute the request asynchronously.
468
+ :type async_req: bool, optional
469
+ :param _preload_content: if False, the ApiResponse.data will
470
+ be set to none and raw_data will store the
471
+ HTTP response body without reading/decoding.
472
+ Default is True.
473
+ :type _preload_content: bool, optional
474
+ :param _return_http_data_only: response data instead of ApiResponse
475
+ object with status code, headers, etc
476
+ :type _return_http_data_only: bool, optional
477
+ :param _request_timeout: timeout setting for this request. If one
478
+ number provided, it will be total request
479
+ timeout. It can also be a pair (tuple) of
480
+ (connection, read) timeouts.
481
+ :param _request_auth: set to override the auth_settings for an a single
482
+ request; this effectively ignores the authentication
483
+ in the spec for a single request.
484
+ :type _request_auth: dict, optional
485
+ :type _content_type: string, optional: force content-type for the request
486
+ :return: Returns the result object.
487
+ If the method is called asynchronously,
488
+ returns the request thread.
489
+ :rtype: tuple(PropertyDefinitionEntity, status_code(int), headers(HTTPHeaderDict))
490
+ """
491
+
492
+ _params = locals()
493
+
494
+ _all_params = [
495
+ 'entity_unique_id',
496
+ 'effective_at',
497
+ 'as_at',
498
+ 'previews'
499
+ ]
500
+ _all_params.extend(
501
+ [
502
+ 'async_req',
503
+ '_return_http_data_only',
504
+ '_preload_content',
505
+ '_request_timeout',
506
+ '_request_auth',
507
+ '_content_type',
508
+ '_headers'
509
+ ]
510
+ )
511
+
512
+ # validate the arguments
513
+ for _key, _val in _params['kwargs'].items():
514
+ if _key not in _all_params:
515
+ raise ApiTypeError(
516
+ "Got an unexpected keyword argument '%s'"
517
+ " to method get_property_definition_by_entity_unique_id" % _key
518
+ )
519
+ _params[_key] = _val
520
+ del _params['kwargs']
521
+
522
+ _collection_formats = {}
523
+
524
+ # process the path parameters
525
+ _path_params = {}
526
+ if _params['entity_unique_id']:
527
+ _path_params['entityUniqueId'] = _params['entity_unique_id']
528
+
529
+
530
+ # process the query parameters
531
+ _query_params = []
532
+ if _params.get('effective_at') is not None: # noqa: E501
533
+ _query_params.append(('effectiveAt', _params['effective_at']))
534
+
535
+ if _params.get('as_at') is not None: # noqa: E501
536
+ if isinstance(_params['as_at'], datetime):
537
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
538
+ else:
539
+ _query_params.append(('asAt', _params['as_at']))
540
+
541
+ if _params.get('previews') is not None: # noqa: E501
542
+ _query_params.append(('previews', _params['previews']))
543
+ _collection_formats['previews'] = 'multi'
544
+
545
+ # process the header parameters
546
+ _header_params = dict(_params.get('_headers', {}))
547
+ # process the form parameters
548
+ _form_params = []
549
+ _files = {}
550
+ # process the body parameter
551
+ _body_params = None
552
+ # set the HTTP header `Accept`
553
+ _header_params['Accept'] = self.api_client.select_header_accept(
554
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
555
+
556
+ # authentication setting
557
+ _auth_settings = ['oauth2'] # noqa: E501
558
+
559
+ _response_types_map = {
560
+ '200': "PropertyDefinitionEntity",
561
+ '400': "LusidValidationProblemDetails",
562
+ }
563
+
564
+ return self.api_client.call_api(
565
+ '/api/entities/propertydefinitions/{entityUniqueId}', 'GET',
566
+ _path_params,
567
+ _query_params,
568
+ _header_params,
569
+ body=_body_params,
570
+ post_params=_form_params,
571
+ files=_files,
572
+ response_types_map=_response_types_map,
573
+ auth_settings=_auth_settings,
574
+ async_req=_params.get('async_req'),
575
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
576
+ _preload_content=_params.get('_preload_content', True),
577
+ _request_timeout=_params.get('_request_timeout'),
578
+ collection_formats=_collection_formats,
579
+ _request_auth=_params.get('_request_auth'))
@@ -22,7 +22,7 @@ from typing import overload, Optional, Union, Awaitable
22
22
  from typing_extensions import Annotated
23
23
  from pydantic.v1 import Field, StrictBool, conlist, constr, validator
24
24
 
25
- from typing import Optional
25
+ from typing import Dict, Optional
26
26
 
27
27
  from lusid.models.allocation_service_run_response import AllocationServiceRunResponse
28
28
  from lusid.models.block_and_orders_create_request import BlockAndOrdersCreateRequest
@@ -30,10 +30,12 @@ from lusid.models.book_transactions_request import BookTransactionsRequest
30
30
  from lusid.models.book_transactions_response import BookTransactionsResponse
31
31
  from lusid.models.move_orders_to_different_blocks_request import MoveOrdersToDifferentBlocksRequest
32
32
  from lusid.models.place_blocks_request import PlaceBlocksRequest
33
+ from lusid.models.placement_update_request import PlacementUpdateRequest
33
34
  from lusid.models.resource_id import ResourceId
34
35
  from lusid.models.resource_list_of_block_and_orders import ResourceListOfBlockAndOrders
35
36
  from lusid.models.resource_list_of_moved_order_to_different_block_response import ResourceListOfMovedOrderToDifferentBlockResponse
36
37
  from lusid.models.resource_list_of_placement import ResourceListOfPlacement
38
+ from lusid.models.update_placements_response import UpdatePlacementsResponse
37
39
 
38
40
  from lusid.api_client import ApiClient
39
41
  from lusid.api_response import ApiResponse
@@ -860,3 +862,161 @@ class OrderManagementApi:
860
862
  _request_timeout=_params.get('_request_timeout'),
861
863
  collection_formats=_collection_formats,
862
864
  _request_auth=_params.get('_request_auth'))
865
+
866
+ @overload
867
+ async def update_placements(self, request_body : Annotated[Dict[str, PlacementUpdateRequest], Field(..., description="The request containing the placements to be updated.")], **kwargs) -> UpdatePlacementsResponse: # noqa: E501
868
+ ...
869
+
870
+ @overload
871
+ def update_placements(self, request_body : Annotated[Dict[str, PlacementUpdateRequest], Field(..., description="The request containing the placements to be updated.")], async_req: Optional[bool]=True, **kwargs) -> UpdatePlacementsResponse: # noqa: E501
872
+ ...
873
+
874
+ @validate_arguments
875
+ def update_placements(self, request_body : Annotated[Dict[str, PlacementUpdateRequest], Field(..., description="The request containing the placements to be updated.")], async_req: Optional[bool]=None, **kwargs) -> Union[UpdatePlacementsResponse, Awaitable[UpdatePlacementsResponse]]: # noqa: E501
876
+ """[EARLY ACCESS] UpdatePlacements: Update existing placements # noqa: E501
877
+
878
+ The response returns both the collection of successfully created or updated instruments, as well as those that failed. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
879
+ This method makes a synchronous HTTP request by default. To make an
880
+ asynchronous HTTP request, please pass async_req=True
881
+
882
+ >>> thread = api.update_placements(request_body, async_req=True)
883
+ >>> result = thread.get()
884
+
885
+ :param request_body: The request containing the placements to be updated. (required)
886
+ :type request_body: Dict[str, PlacementUpdateRequest]
887
+ :param async_req: Whether to execute the request asynchronously.
888
+ :type async_req: bool, optional
889
+ :param _request_timeout: timeout setting for this request.
890
+ If one number provided, it will be total request
891
+ timeout. It can also be a pair (tuple) of
892
+ (connection, read) timeouts.
893
+ :return: Returns the result object.
894
+ If the method is called asynchronously,
895
+ returns the request thread.
896
+ :rtype: UpdatePlacementsResponse
897
+ """
898
+ kwargs['_return_http_data_only'] = True
899
+ if '_preload_content' in kwargs:
900
+ message = "Error! Please call the update_placements_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
901
+ raise ValueError(message)
902
+ if async_req is not None:
903
+ kwargs['async_req'] = async_req
904
+ return self.update_placements_with_http_info(request_body, **kwargs) # noqa: E501
905
+
906
+ @validate_arguments
907
+ def update_placements_with_http_info(self, request_body : Annotated[Dict[str, PlacementUpdateRequest], Field(..., description="The request containing the placements to be updated.")], **kwargs) -> ApiResponse: # noqa: E501
908
+ """[EARLY ACCESS] UpdatePlacements: Update existing placements # noqa: E501
909
+
910
+ The response returns both the collection of successfully created or updated instruments, as well as those that failed. For each failure, a reason is provided. It is important to check the failed set for unsuccessful results. # noqa: E501
911
+ This method makes a synchronous HTTP request by default. To make an
912
+ asynchronous HTTP request, please pass async_req=True
913
+
914
+ >>> thread = api.update_placements_with_http_info(request_body, async_req=True)
915
+ >>> result = thread.get()
916
+
917
+ :param request_body: The request containing the placements to be updated. (required)
918
+ :type request_body: Dict[str, PlacementUpdateRequest]
919
+ :param async_req: Whether to execute the request asynchronously.
920
+ :type async_req: bool, optional
921
+ :param _preload_content: if False, the ApiResponse.data will
922
+ be set to none and raw_data will store the
923
+ HTTP response body without reading/decoding.
924
+ Default is True.
925
+ :type _preload_content: bool, optional
926
+ :param _return_http_data_only: response data instead of ApiResponse
927
+ object with status code, headers, etc
928
+ :type _return_http_data_only: bool, optional
929
+ :param _request_timeout: timeout setting for this request. If one
930
+ number provided, it will be total request
931
+ timeout. It can also be a pair (tuple) of
932
+ (connection, read) timeouts.
933
+ :param _request_auth: set to override the auth_settings for an a single
934
+ request; this effectively ignores the authentication
935
+ in the spec for a single request.
936
+ :type _request_auth: dict, optional
937
+ :type _content_type: string, optional: force content-type for the request
938
+ :return: Returns the result object.
939
+ If the method is called asynchronously,
940
+ returns the request thread.
941
+ :rtype: tuple(UpdatePlacementsResponse, status_code(int), headers(HTTPHeaderDict))
942
+ """
943
+
944
+ _params = locals()
945
+
946
+ _all_params = [
947
+ 'request_body'
948
+ ]
949
+ _all_params.extend(
950
+ [
951
+ 'async_req',
952
+ '_return_http_data_only',
953
+ '_preload_content',
954
+ '_request_timeout',
955
+ '_request_auth',
956
+ '_content_type',
957
+ '_headers'
958
+ ]
959
+ )
960
+
961
+ # validate the arguments
962
+ for _key, _val in _params['kwargs'].items():
963
+ if _key not in _all_params:
964
+ raise ApiTypeError(
965
+ "Got an unexpected keyword argument '%s'"
966
+ " to method update_placements" % _key
967
+ )
968
+ _params[_key] = _val
969
+ del _params['kwargs']
970
+
971
+ _collection_formats = {}
972
+
973
+ # process the path parameters
974
+ _path_params = {}
975
+
976
+ # process the query parameters
977
+ _query_params = []
978
+ # process the header parameters
979
+ _header_params = dict(_params.get('_headers', {}))
980
+ # process the form parameters
981
+ _form_params = []
982
+ _files = {}
983
+ # process the body parameter
984
+ _body_params = None
985
+ if _params['request_body'] is not None:
986
+ _body_params = _params['request_body']
987
+
988
+ # set the HTTP header `Accept`
989
+ _header_params['Accept'] = self.api_client.select_header_accept(
990
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
991
+
992
+ # set the HTTP header `Content-Type`
993
+ _content_types_list = _params.get('_content_type',
994
+ self.api_client.select_header_content_type(
995
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
996
+ if _content_types_list:
997
+ _header_params['Content-Type'] = _content_types_list
998
+
999
+ # authentication setting
1000
+ _auth_settings = ['oauth2'] # noqa: E501
1001
+
1002
+ _response_types_map = {
1003
+ '200': "UpdatePlacementsResponse",
1004
+ '400': "LusidValidationProblemDetails",
1005
+ }
1006
+
1007
+ return self.api_client.call_api(
1008
+ '/api/ordermanagement/$updateplacements', 'POST',
1009
+ _path_params,
1010
+ _query_params,
1011
+ _header_params,
1012
+ body=_body_params,
1013
+ post_params=_form_params,
1014
+ files=_files,
1015
+ response_types_map=_response_types_map,
1016
+ auth_settings=_auth_settings,
1017
+ async_req=_params.get('async_req'),
1018
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1019
+ _preload_content=_params.get('_preload_content', True),
1020
+ _request_timeout=_params.get('_request_timeout'),
1021
+ collection_formats=_collection_formats,
1022
+ _request_auth=_params.get('_request_auth'))
lusid/configuration.py CHANGED
@@ -373,7 +373,7 @@ class Configuration:
373
373
  return "Python SDK Debug Report:\n"\
374
374
  "OS: {env}\n"\
375
375
  "Python Version: {pyversion}\n"\
376
- "Version of the API: 0.11.6671\n"\
376
+ "Version of the API: 0.11.6676\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
lusid/models/__init__.py CHANGED
@@ -613,6 +613,7 @@ from lusid.models.place_blocks_request import PlaceBlocksRequest
613
613
  from lusid.models.placement import Placement
614
614
  from lusid.models.placement_request import PlacementRequest
615
615
  from lusid.models.placement_set_request import PlacementSetRequest
616
+ from lusid.models.placement_update_request import PlacementUpdateRequest
616
617
  from lusid.models.portfolio import Portfolio
617
618
  from lusid.models.portfolio_cash_flow import PortfolioCashFlow
618
619
  from lusid.models.portfolio_cash_ladder import PortfolioCashLadder
@@ -649,6 +650,7 @@ from lusid.models.pricing_model import PricingModel
649
650
  from lusid.models.pricing_options import PricingOptions
650
651
  from lusid.models.processed_command import ProcessedCommand
651
652
  from lusid.models.property_definition import PropertyDefinition
653
+ from lusid.models.property_definition_entity import PropertyDefinitionEntity
652
654
  from lusid.models.property_definition_search_result import PropertyDefinitionSearchResult
653
655
  from lusid.models.property_definition_type import PropertyDefinitionType
654
656
  from lusid.models.property_domain import PropertyDomain
@@ -928,6 +930,7 @@ from lusid.models.update_data_type_request import UpdateDataTypeRequest
928
930
  from lusid.models.update_derived_property_definition_request import UpdateDerivedPropertyDefinitionRequest
929
931
  from lusid.models.update_fee_type_request import UpdateFeeTypeRequest
930
932
  from lusid.models.update_instrument_identifier_request import UpdateInstrumentIdentifierRequest
933
+ from lusid.models.update_placements_response import UpdatePlacementsResponse
931
934
  from lusid.models.update_portfolio_group_request import UpdatePortfolioGroupRequest
932
935
  from lusid.models.update_portfolio_request import UpdatePortfolioRequest
933
936
  from lusid.models.update_property_definition_request import UpdatePropertyDefinitionRequest
@@ -1612,6 +1615,7 @@ __all__ = [
1612
1615
  "Placement",
1613
1616
  "PlacementRequest",
1614
1617
  "PlacementSetRequest",
1618
+ "PlacementUpdateRequest",
1615
1619
  "Portfolio",
1616
1620
  "PortfolioCashFlow",
1617
1621
  "PortfolioCashLadder",
@@ -1648,6 +1652,7 @@ __all__ = [
1648
1652
  "PricingOptions",
1649
1653
  "ProcessedCommand",
1650
1654
  "PropertyDefinition",
1655
+ "PropertyDefinitionEntity",
1651
1656
  "PropertyDefinitionSearchResult",
1652
1657
  "PropertyDefinitionType",
1653
1658
  "PropertyDomain",
@@ -1927,6 +1932,7 @@ __all__ = [
1927
1932
  "UpdateDerivedPropertyDefinitionRequest",
1928
1933
  "UpdateFeeTypeRequest",
1929
1934
  "UpdateInstrumentIdentifierRequest",
1935
+ "UpdatePlacementsResponse",
1930
1936
  "UpdatePortfolioGroupRequest",
1931
1937
  "UpdatePortfolioRequest",
1932
1938
  "UpdatePropertyDefinitionRequest",
lusid/models/basket.py CHANGED
@@ -31,15 +31,15 @@ class Basket(LusidInstrument):
31
31
  basket_name: BasketIdentifier = Field(..., alias="basketName")
32
32
  basket_type: constr(strict=True, min_length=1) = Field(..., alias="basketType", description="What contents does the basket have. The validation will check that the instrument types contained match those expected. Supported string (enumeration) values are: [Bonds, Credits, Equities, EquitySwap].")
33
33
  weighted_instruments: WeightedInstruments = Field(..., alias="weightedInstruments")
34
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
34
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
35
35
  additional_properties: Dict[str, Any] = {}
36
36
  __properties = ["instrumentType", "basketName", "basketType", "weightedInstruments"]
37
37
 
38
38
  @validator('instrument_type')
39
39
  def instrument_type_validate_enum(cls, value):
40
40
  """Validates the enum"""
41
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
42
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
41
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
42
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
43
43
  return value
44
44
 
45
45
  class Config:
lusid/models/bond.py CHANGED
@@ -43,15 +43,15 @@ class Bond(LusidInstrument):
43
43
  rounding_conventions: Optional[conlist(RoundingConvention)] = Field(None, alias="roundingConventions", description="Rounding conventions for analytics, if any.")
44
44
  ex_dividend_configuration: Optional[ExDividendConfiguration] = Field(None, alias="exDividendConfiguration")
45
45
  original_issue_price: Optional[Union[StrictFloat, StrictInt]] = Field(None, alias="originalIssuePrice", description="The price the bond was issued at. This is to be entered as a percentage of par, for example a value of 98.5 would represent 98.5%.")
46
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
46
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
47
47
  additional_properties: Dict[str, Any] = {}
48
48
  __properties = ["instrumentType", "startDate", "maturityDate", "domCcy", "flowConventions", "principal", "couponRate", "identifiers", "exDividendDays", "initialCouponDate", "firstCouponPayDate", "calculationType", "roundingConventions", "exDividendConfiguration", "originalIssuePrice"]
49
49
 
50
50
  @validator('instrument_type')
51
51
  def instrument_type_validate_enum(cls, value):
52
52
  """Validates the enum"""
53
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
54
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
53
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
54
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
55
55
  return value
56
56
 
57
57
  class Config:
lusid/models/cap_floor.py CHANGED
@@ -32,15 +32,15 @@ class CapFloor(LusidInstrument):
32
32
  floor_strike: Union[StrictFloat, StrictInt] = Field(..., alias="floorStrike", description="Strike rate of the Floor.")
33
33
  include_first_caplet: StrictBool = Field(..., alias="includeFirstCaplet", description="Include first caplet flag.")
34
34
  underlying_floating_leg: FloatingLeg = Field(..., alias="underlyingFloatingLeg")
35
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
35
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
36
36
  additional_properties: Dict[str, Any] = {}
37
37
  __properties = ["instrumentType", "capFloorType", "capStrike", "floorStrike", "includeFirstCaplet", "underlyingFloatingLeg"]
38
38
 
39
39
  @validator('instrument_type')
40
40
  def instrument_type_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
43
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
42
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
43
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
44
44
  return value
45
45
 
46
46
  class Config:
@@ -29,15 +29,15 @@ class CashPerpetual(LusidInstrument):
29
29
  start_date: datetime = Field(..., alias="startDate", description="The start date of the instrument. This is normally synonymous with the trade-date.")
30
30
  dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
31
31
  principal: Union[StrictFloat, StrictInt] = Field(..., description="The face-value or principal for the cash at outset.")
32
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
32
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
33
33
  additional_properties: Dict[str, Any] = {}
34
34
  __properties = ["instrumentType", "startDate", "domCcy", "principal"]
35
35
 
36
36
  @validator('instrument_type')
37
37
  def instrument_type_validate_enum(cls, value):
38
38
  """Validates the enum"""
39
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
40
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
39
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
40
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
41
41
  return value
42
42
 
43
43
  class Config:
lusid/models/cds_index.py CHANGED
@@ -37,15 +37,15 @@ class CdsIndex(LusidInstrument):
37
37
  basket: Optional[Basket] = None
38
38
  convention_name: Optional[FlowConventionName] = Field(None, alias="conventionName")
39
39
  notional: Union[StrictFloat, StrictInt] = Field(..., description="The notional quantity that applies to both the premium and protection legs.")
40
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
40
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
41
41
  additional_properties: Dict[str, Any] = {}
42
42
  __properties = ["instrumentType", "startDate", "maturityDate", "flowConventions", "couponRate", "identifiers", "basket", "conventionName", "notional"]
43
43
 
44
44
  @validator('instrument_type')
45
45
  def instrument_type_validate_enum(cls, value):
46
46
  """Validates the enum"""
47
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
48
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
47
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
48
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
49
49
  return value
50
50
 
51
51
  class Config: