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.
- lusid/__init__.py +6 -0
- lusid/api/entities_api.py +180 -0
- lusid/api/order_management_api.py +161 -1
- lusid/configuration.py +1 -1
- lusid/models/__init__.py +6 -0
- lusid/models/basket.py +3 -3
- lusid/models/bond.py +3 -3
- lusid/models/cap_floor.py +3 -3
- lusid/models/cash_perpetual.py +3 -3
- lusid/models/cds_index.py +3 -3
- lusid/models/complex_bond.py +3 -3
- lusid/models/contract_for_difference.py +3 -3
- lusid/models/credit_default_swap.py +3 -3
- lusid/models/equity.py +3 -3
- lusid/models/equity_option.py +3 -3
- lusid/models/equity_swap.py +3 -3
- lusid/models/exchange_traded_option.py +3 -3
- lusid/models/exotic_instrument.py +3 -3
- lusid/models/fixed_leg.py +3 -3
- lusid/models/flexible_loan.py +3 -3
- lusid/models/floating_leg.py +3 -3
- lusid/models/forward_rate_agreement.py +3 -3
- lusid/models/fund_share_class.py +3 -3
- lusid/models/funding_leg.py +3 -3
- lusid/models/future.py +3 -3
- lusid/models/fx_forward.py +3 -3
- lusid/models/fx_option.py +3 -3
- lusid/models/fx_swap.py +3 -3
- lusid/models/inflation_leg.py +3 -3
- lusid/models/inflation_linked_bond.py +3 -3
- lusid/models/inflation_swap.py +3 -3
- lusid/models/instrument.py +7 -1
- lusid/models/instrument_leg.py +3 -3
- lusid/models/instrument_type.py +2 -0
- lusid/models/interest_rate_swap.py +3 -3
- lusid/models/interest_rate_swaption.py +3 -3
- lusid/models/lusid_instrument.py +3 -3
- lusid/models/placement_update_request.py +116 -0
- lusid/models/property_definition_entity.py +146 -0
- lusid/models/reference_instrument.py +3 -3
- lusid/models/repo.py +3 -3
- lusid/models/simple_cash_flow_loan.py +3 -3
- lusid/models/simple_instrument.py +3 -3
- lusid/models/term_deposit.py +3 -3
- lusid/models/total_return_swap.py +3 -3
- lusid/models/update_placements_response.py +153 -0
- lusid/models/upsert_instruments_response.py +20 -1
- {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/METADATA +8 -3
- {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/RECORD +50 -47
- {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.
|
|
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:
|
lusid/models/cash_perpetual.py
CHANGED
|
@@ -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:
|