lusid-sdk 2.1.222__py3-none-any.whl → 2.1.254__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 (103) hide show
  1. lusid/__init__.py +16 -0
  2. lusid/api/entities_api.py +360 -0
  3. lusid/api/fee_types_api.py +143 -0
  4. lusid/api/funds_api.py +8 -16
  5. lusid/api/order_management_api.py +161 -1
  6. lusid/configuration.py +1 -1
  7. lusid/extensions/__init__.py +1 -1
  8. lusid/models/__init__.py +16 -0
  9. lusid/models/address_key_compliance_parameter.py +3 -3
  10. lusid/models/address_key_list_compliance_parameter.py +3 -3
  11. lusid/models/basket.py +3 -3
  12. lusid/models/bond.py +3 -3
  13. lusid/models/bool_compliance_parameter.py +3 -3
  14. lusid/models/bool_list_compliance_parameter.py +3 -3
  15. lusid/models/branch_step.py +3 -3
  16. lusid/models/branch_step_request.py +10 -3
  17. lusid/models/cap_floor.py +3 -3
  18. lusid/models/cash_perpetual.py +3 -3
  19. lusid/models/cds_index.py +3 -3
  20. lusid/models/check_step.py +3 -3
  21. lusid/models/check_step_request.py +10 -3
  22. lusid/models/complex_bond.py +3 -3
  23. lusid/models/compliance_parameter.py +6 -5
  24. lusid/models/compliance_parameter_type.py +1 -0
  25. lusid/models/compliance_step.py +6 -5
  26. lusid/models/compliance_step_request.py +7 -6
  27. lusid/models/compliance_step_type.py +1 -0
  28. lusid/models/compliance_step_type_request.py +1 -0
  29. lusid/models/contract_for_difference.py +3 -3
  30. lusid/models/credit_default_swap.py +3 -3
  31. lusid/models/date_time_compliance_parameter.py +3 -3
  32. lusid/models/date_time_list_compliance_parameter.py +3 -3
  33. lusid/models/decimal_compliance_parameter.py +3 -3
  34. lusid/models/decimal_list_compliance_parameter.py +3 -3
  35. lusid/models/dependency_source_filter.py +9 -2
  36. lusid/models/equity.py +3 -3
  37. lusid/models/equity_option.py +3 -3
  38. lusid/models/equity_swap.py +3 -3
  39. lusid/models/exchange_traded_option.py +3 -3
  40. lusid/models/exotic_instrument.py +3 -3
  41. lusid/models/fee_accrual.py +32 -14
  42. lusid/models/fee_request.py +10 -1
  43. lusid/models/fee_transaction_template_specification.py +79 -0
  44. lusid/models/filter_predicate_compliance_parameter.py +3 -3
  45. lusid/models/filter_step.py +3 -3
  46. lusid/models/filter_step_request.py +10 -3
  47. lusid/models/fixed_leg.py +3 -3
  48. lusid/models/flexible_loan.py +3 -3
  49. lusid/models/floating_leg.py +3 -3
  50. lusid/models/forward_rate_agreement.py +3 -3
  51. lusid/models/fund_share_class.py +3 -3
  52. lusid/models/funding_leg.py +3 -3
  53. lusid/models/future.py +3 -3
  54. lusid/models/fx_forward.py +3 -3
  55. lusid/models/fx_option.py +3 -3
  56. lusid/models/fx_swap.py +3 -3
  57. lusid/models/group_by_selector_compliance_parameter.py +3 -3
  58. lusid/models/group_by_step.py +3 -3
  59. lusid/models/group_by_step_request.py +10 -3
  60. lusid/models/group_calculation_compliance_parameter.py +91 -0
  61. lusid/models/group_filter_predicate_compliance_parameter.py +3 -3
  62. lusid/models/group_filter_step.py +3 -3
  63. lusid/models/group_filter_step_request.py +10 -3
  64. lusid/models/inflation_leg.py +3 -3
  65. lusid/models/inflation_linked_bond.py +3 -3
  66. lusid/models/inflation_swap.py +3 -3
  67. lusid/models/instrument.py +7 -1
  68. lusid/models/instrument_entity.py +146 -0
  69. lusid/models/instrument_leg.py +3 -3
  70. lusid/models/instrument_list_compliance_parameter.py +3 -3
  71. lusid/models/instrument_type.py +2 -0
  72. lusid/models/interest_rate_swap.py +3 -3
  73. lusid/models/interest_rate_swaption.py +3 -3
  74. lusid/models/intermediate_compliance_step.py +3 -3
  75. lusid/models/intermediate_compliance_step_request.py +10 -3
  76. lusid/models/lusid_instrument.py +3 -3
  77. lusid/models/percent_check_step.py +110 -0
  78. lusid/models/percent_check_step_request.py +98 -0
  79. lusid/models/placement_update_request.py +116 -0
  80. lusid/models/portfolio_group_id_compliance_parameter.py +3 -3
  81. lusid/models/portfolio_group_id_list_compliance_parameter.py +3 -3
  82. lusid/models/portfolio_id_compliance_parameter.py +3 -3
  83. lusid/models/portfolio_id_list_compliance_parameter.py +3 -3
  84. lusid/models/property_definition_entity.py +146 -0
  85. lusid/models/property_key_compliance_parameter.py +3 -3
  86. lusid/models/property_key_list_compliance_parameter.py +3 -3
  87. lusid/models/property_list_compliance_parameter.py +3 -3
  88. lusid/models/recombine_step.py +3 -3
  89. lusid/models/reference_instrument.py +3 -3
  90. lusid/models/repo.py +3 -3
  91. lusid/models/simple_cash_flow_loan.py +3 -3
  92. lusid/models/simple_instrument.py +3 -3
  93. lusid/models/string_compliance_parameter.py +3 -3
  94. lusid/models/string_list_compliance_parameter.py +3 -3
  95. lusid/models/term_deposit.py +3 -3
  96. lusid/models/total_return_swap.py +3 -3
  97. lusid/models/transaction_type_calculation.py +11 -14
  98. lusid/models/transaction_type_movement.py +19 -2
  99. lusid/models/update_placements_response.py +153 -0
  100. lusid/models/upsert_instruments_response.py +20 -1
  101. {lusid_sdk-2.1.222.dist-info → lusid_sdk-2.1.254.dist-info}/METADATA +16 -4
  102. {lusid_sdk-2.1.222.dist-info → lusid_sdk-2.1.254.dist-info}/RECORD +103 -95
  103. {lusid_sdk-2.1.222.dist-info → lusid_sdk-2.1.254.dist-info}/WHEEL +0 -0
lusid/api/funds_api.py CHANGED
@@ -239,30 +239,28 @@ class FundsApi:
239
239
  _request_auth=_params.get('_request_auth'))
240
240
 
241
241
  @overload
242
- async def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> Fee: # noqa: E501
242
+ async def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> Fee: # noqa: E501
243
243
  ...
244
244
 
245
245
  @overload
246
- def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
246
+ def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=True, **kwargs) -> Fee: # noqa: E501
247
247
  ...
248
248
 
249
249
  @validate_arguments
250
- def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
250
+ def create_fee(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], async_req: Optional[bool]=None, **kwargs) -> Union[Fee, Awaitable[Fee]]: # noqa: E501
251
251
  """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
252
252
 
253
253
  Create the given Fee. # noqa: E501
254
254
  This method makes a synchronous HTTP request by default. To make an
255
255
  asynchronous HTTP request, please pass async_req=True
256
256
 
257
- >>> thread = api.create_fee(scope, code, fee_code, fee_request, async_req=True)
257
+ >>> thread = api.create_fee(scope, code, fee_request, async_req=True)
258
258
  >>> result = thread.get()
259
259
 
260
260
  :param scope: The scope of the Fund. (required)
261
261
  :type scope: str
262
262
  :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
263
263
  :type code: str
264
- :param fee_code: The code of the Fee. (required)
265
- :type fee_code: str
266
264
  :param fee_request: The Fee to create. (required)
267
265
  :type fee_request: FeeRequest
268
266
  :param async_req: Whether to execute the request asynchronously.
@@ -282,25 +280,23 @@ class FundsApi:
282
280
  raise ValueError(message)
283
281
  if async_req is not None:
284
282
  kwargs['async_req'] = async_req
285
- return self.create_fee_with_http_info(scope, code, fee_code, fee_request, **kwargs) # noqa: E501
283
+ return self.create_fee_with_http_info(scope, code, fee_request, **kwargs) # noqa: E501
286
284
 
287
285
  @validate_arguments
288
- def create_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fee.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> ApiResponse: # noqa: E501
286
+ def create_fee_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Fund.")], code : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The code of the Fund. Together with the scope this uniquely identifies the Fund.")], fee_request : Annotated[FeeRequest, Field(..., description="The Fee to create.")], **kwargs) -> ApiResponse: # noqa: E501
289
287
  """[EXPERIMENTAL] CreateFee: Create a Fee. # noqa: E501
290
288
 
291
289
  Create the given Fee. # noqa: E501
292
290
  This method makes a synchronous HTTP request by default. To make an
293
291
  asynchronous HTTP request, please pass async_req=True
294
292
 
295
- >>> thread = api.create_fee_with_http_info(scope, code, fee_code, fee_request, async_req=True)
293
+ >>> thread = api.create_fee_with_http_info(scope, code, fee_request, async_req=True)
296
294
  >>> result = thread.get()
297
295
 
298
296
  :param scope: The scope of the Fund. (required)
299
297
  :type scope: str
300
298
  :param code: The code of the Fund. Together with the scope this uniquely identifies the Fund. (required)
301
299
  :type code: str
302
- :param fee_code: The code of the Fee. (required)
303
- :type fee_code: str
304
300
  :param fee_request: The Fee to create. (required)
305
301
  :type fee_request: FeeRequest
306
302
  :param async_req: Whether to execute the request asynchronously.
@@ -333,7 +329,6 @@ class FundsApi:
333
329
  _all_params = [
334
330
  'scope',
335
331
  'code',
336
- 'fee_code',
337
332
  'fee_request'
338
333
  ]
339
334
  _all_params.extend(
@@ -368,9 +363,6 @@ class FundsApi:
368
363
  if _params['code']:
369
364
  _path_params['code'] = _params['code']
370
365
 
371
- if _params['fee_code']:
372
- _path_params['feeCode'] = _params['fee_code']
373
-
374
366
 
375
367
  # process the query parameters
376
368
  _query_params = []
@@ -404,7 +396,7 @@ class FundsApi:
404
396
  }
405
397
 
406
398
  return self.api_client.call_api(
407
- '/api/funds/{scope}/{code}/fees/{feeCode}', 'POST',
399
+ '/api/funds/{scope}/{code}/fees', 'POST',
408
400
  _path_params,
409
401
  _query_params,
410
402
  _header_params,
@@ -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.6656\n"\
376
+ "Version of the API: 0.11.6687\n"\
377
377
  "SDK Package Version: {package_version}".\
378
378
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
379
379
 
@@ -14,7 +14,7 @@ __all__ = [
14
14
  "ConfigurationLoader",
15
15
  "SecretsFileConfigurationLoader",
16
16
  "EnvironmentVariablesConfigurationLoader",
17
- "FileTokenConfigurationLoader"
17
+ "FileTokenConfigurationLoader",
18
18
  "ArgsConfigurationLoader",
19
19
  "SyncApiClient"
20
20
  ]
lusid/models/__init__.py CHANGED
@@ -317,6 +317,7 @@ from lusid.models.fee_request import FeeRequest
317
317
  from lusid.models.fee_rule import FeeRule
318
318
  from lusid.models.fee_rule_upsert_request import FeeRuleUpsertRequest
319
319
  from lusid.models.fee_rule_upsert_response import FeeRuleUpsertResponse
320
+ from lusid.models.fee_transaction_template_specification import FeeTransactionTemplateSpecification
320
321
  from lusid.models.fee_type import FeeType
321
322
  from lusid.models.fee_type_request import FeeTypeRequest
322
323
  from lusid.models.field_definition import FieldDefinition
@@ -382,6 +383,7 @@ from lusid.models.get_virtual_document_response import GetVirtualDocumentRespons
382
383
  from lusid.models.group_by_selector_compliance_parameter import GroupBySelectorComplianceParameter
383
384
  from lusid.models.group_by_step import GroupByStep
384
385
  from lusid.models.group_by_step_request import GroupByStepRequest
386
+ from lusid.models.group_calculation_compliance_parameter import GroupCalculationComplianceParameter
385
387
  from lusid.models.group_filter_predicate_compliance_parameter import GroupFilterPredicateComplianceParameter
386
388
  from lusid.models.group_filter_step import GroupFilterStep
387
389
  from lusid.models.group_filter_step_request import GroupFilterStepRequest
@@ -416,6 +418,7 @@ from lusid.models.instrument_cash_flow import InstrumentCashFlow
416
418
  from lusid.models.instrument_definition import InstrumentDefinition
417
419
  from lusid.models.instrument_definition_format import InstrumentDefinitionFormat
418
420
  from lusid.models.instrument_delete_modes import InstrumentDeleteModes
421
+ from lusid.models.instrument_entity import InstrumentEntity
419
422
  from lusid.models.instrument_event import InstrumentEvent
420
423
  from lusid.models.instrument_event_configuration import InstrumentEventConfiguration
421
424
  from lusid.models.instrument_event_holder import InstrumentEventHolder
@@ -599,6 +602,8 @@ from lusid.models.paged_resource_list_of_virtual_row import PagedResourceListOfV
599
602
  from lusid.models.participation import Participation
600
603
  from lusid.models.participation_request import ParticipationRequest
601
604
  from lusid.models.participation_set_request import ParticipationSetRequest
605
+ from lusid.models.percent_check_step import PercentCheckStep
606
+ from lusid.models.percent_check_step_request import PercentCheckStepRequest
602
607
  from lusid.models.performance_return import PerformanceReturn
603
608
  from lusid.models.performance_returns_metric import PerformanceReturnsMetric
604
609
  from lusid.models.period_diary_entries_reopened_response import PeriodDiaryEntriesReopenedResponse
@@ -610,6 +615,7 @@ from lusid.models.place_blocks_request import PlaceBlocksRequest
610
615
  from lusid.models.placement import Placement
611
616
  from lusid.models.placement_request import PlacementRequest
612
617
  from lusid.models.placement_set_request import PlacementSetRequest
618
+ from lusid.models.placement_update_request import PlacementUpdateRequest
613
619
  from lusid.models.portfolio import Portfolio
614
620
  from lusid.models.portfolio_cash_flow import PortfolioCashFlow
615
621
  from lusid.models.portfolio_cash_ladder import PortfolioCashLadder
@@ -646,6 +652,7 @@ from lusid.models.pricing_model import PricingModel
646
652
  from lusid.models.pricing_options import PricingOptions
647
653
  from lusid.models.processed_command import ProcessedCommand
648
654
  from lusid.models.property_definition import PropertyDefinition
655
+ from lusid.models.property_definition_entity import PropertyDefinitionEntity
649
656
  from lusid.models.property_definition_search_result import PropertyDefinitionSearchResult
650
657
  from lusid.models.property_definition_type import PropertyDefinitionType
651
658
  from lusid.models.property_domain import PropertyDomain
@@ -925,6 +932,7 @@ from lusid.models.update_data_type_request import UpdateDataTypeRequest
925
932
  from lusid.models.update_derived_property_definition_request import UpdateDerivedPropertyDefinitionRequest
926
933
  from lusid.models.update_fee_type_request import UpdateFeeTypeRequest
927
934
  from lusid.models.update_instrument_identifier_request import UpdateInstrumentIdentifierRequest
935
+ from lusid.models.update_placements_response import UpdatePlacementsResponse
928
936
  from lusid.models.update_portfolio_group_request import UpdatePortfolioGroupRequest
929
937
  from lusid.models.update_portfolio_request import UpdatePortfolioRequest
930
938
  from lusid.models.update_property_definition_request import UpdatePropertyDefinitionRequest
@@ -1313,6 +1321,7 @@ __all__ = [
1313
1321
  "FeeRule",
1314
1322
  "FeeRuleUpsertRequest",
1315
1323
  "FeeRuleUpsertResponse",
1324
+ "FeeTransactionTemplateSpecification",
1316
1325
  "FeeType",
1317
1326
  "FeeTypeRequest",
1318
1327
  "FieldDefinition",
@@ -1378,6 +1387,7 @@ __all__ = [
1378
1387
  "GroupBySelectorComplianceParameter",
1379
1388
  "GroupByStep",
1380
1389
  "GroupByStepRequest",
1390
+ "GroupCalculationComplianceParameter",
1381
1391
  "GroupFilterPredicateComplianceParameter",
1382
1392
  "GroupFilterStep",
1383
1393
  "GroupFilterStepRequest",
@@ -1412,6 +1422,7 @@ __all__ = [
1412
1422
  "InstrumentDefinition",
1413
1423
  "InstrumentDefinitionFormat",
1414
1424
  "InstrumentDeleteModes",
1425
+ "InstrumentEntity",
1415
1426
  "InstrumentEvent",
1416
1427
  "InstrumentEventConfiguration",
1417
1428
  "InstrumentEventHolder",
@@ -1595,6 +1606,8 @@ __all__ = [
1595
1606
  "Participation",
1596
1607
  "ParticipationRequest",
1597
1608
  "ParticipationSetRequest",
1609
+ "PercentCheckStep",
1610
+ "PercentCheckStepRequest",
1598
1611
  "PerformanceReturn",
1599
1612
  "PerformanceReturnsMetric",
1600
1613
  "PeriodDiaryEntriesReopenedResponse",
@@ -1606,6 +1619,7 @@ __all__ = [
1606
1619
  "Placement",
1607
1620
  "PlacementRequest",
1608
1621
  "PlacementSetRequest",
1622
+ "PlacementUpdateRequest",
1609
1623
  "Portfolio",
1610
1624
  "PortfolioCashFlow",
1611
1625
  "PortfolioCashLadder",
@@ -1642,6 +1656,7 @@ __all__ = [
1642
1656
  "PricingOptions",
1643
1657
  "ProcessedCommand",
1644
1658
  "PropertyDefinition",
1659
+ "PropertyDefinitionEntity",
1645
1660
  "PropertyDefinitionSearchResult",
1646
1661
  "PropertyDefinitionType",
1647
1662
  "PropertyDomain",
@@ -1921,6 +1936,7 @@ __all__ = [
1921
1936
  "UpdateDerivedPropertyDefinitionRequest",
1922
1937
  "UpdateFeeTypeRequest",
1923
1938
  "UpdateInstrumentIdentifierRequest",
1939
+ "UpdatePlacementsResponse",
1924
1940
  "UpdatePortfolioGroupRequest",
1925
1941
  "UpdatePortfolioRequest",
1926
1942
  "UpdatePropertyDefinitionRequest",
@@ -27,15 +27,15 @@ class AddressKeyComplianceParameter(ComplianceParameter):
27
27
  AddressKeyComplianceParameter
28
28
  """
29
29
  value: StrictStr = Field(..., description="The key that uniquely identifies a queryable address in Lusid.")
30
- compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter")
30
+ compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter, GroupCalculationComplianceParameter")
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties = ["complianceParameterType", "value"]
33
33
 
34
34
  @validator('compliance_parameter_type')
35
35
  def compliance_parameter_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
- if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter'):
38
- raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter')")
37
+ if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter'):
38
+ raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter')")
39
39
  return value
40
40
 
41
41
  class Config:
@@ -28,15 +28,15 @@ class AddressKeyListComplianceParameter(ComplianceParameter):
28
28
  AddressKeyListComplianceParameter
29
29
  """
30
30
  value: ResourceId = Field(...)
31
- compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter")
31
+ compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter, GroupCalculationComplianceParameter")
32
32
  additional_properties: Dict[str, Any] = {}
33
33
  __properties = ["complianceParameterType", "value"]
34
34
 
35
35
  @validator('compliance_parameter_type')
36
36
  def compliance_parameter_type_validate_enum(cls, value):
37
37
  """Validates the enum"""
38
- if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter'):
39
- raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter')")
38
+ if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter'):
39
+ raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter')")
40
40
  return value
41
41
 
42
42
  class Config:
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:
@@ -27,15 +27,15 @@ class BoolComplianceParameter(ComplianceParameter):
27
27
  BoolComplianceParameter
28
28
  """
29
29
  value: StrictBool = Field(...)
30
- compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter")
30
+ compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter, GroupCalculationComplianceParameter")
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties = ["complianceParameterType", "value"]
33
33
 
34
34
  @validator('compliance_parameter_type')
35
35
  def compliance_parameter_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
- if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter'):
38
- raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter')")
37
+ if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter'):
38
+ raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter')")
39
39
  return value
40
40
 
41
41
  class Config:
@@ -28,15 +28,15 @@ class BoolListComplianceParameter(ComplianceParameter):
28
28
  BoolListComplianceParameter
29
29
  """
30
30
  value: ResourceId = Field(...)
31
- compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter")
31
+ compliance_parameter_type: StrictStr = Field(..., alias="complianceParameterType", description="The parameter type. The available values are: BoolComplianceParameter, StringComplianceParameter, DecimalComplianceParameter, DateTimeComplianceParameter, PropertyKeyComplianceParameter, AddressKeyComplianceParameter, PortfolioIdComplianceParameter, PortfolioGroupIdComplianceParameter, StringListComplianceParameter, BoolListComplianceParameter, DateTimeListComplianceParameter, DecimalListComplianceParameter, PropertyKeyListComplianceParameter, AddressKeyListComplianceParameter, PortfolioIdListComplianceParameter, PortfolioGroupIdListComplianceParameter, InstrumentListComplianceParameter, FilterPredicateComplianceParameter, GroupFilterPredicateComplianceParameter, GroupBySelectorComplianceParameter, PropertyListComplianceParameter, GroupCalculationComplianceParameter")
32
32
  additional_properties: Dict[str, Any] = {}
33
33
  __properties = ["complianceParameterType", "value"]
34
34
 
35
35
  @validator('compliance_parameter_type')
36
36
  def compliance_parameter_type_validate_enum(cls, value):
37
37
  """Validates the enum"""
38
- if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter'):
39
- raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter')")
38
+ if value not in ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter'):
39
+ raise ValueError("must be one of enum values ('BoolComplianceParameter', 'StringComplianceParameter', 'DecimalComplianceParameter', 'DateTimeComplianceParameter', 'PropertyKeyComplianceParameter', 'AddressKeyComplianceParameter', 'PortfolioIdComplianceParameter', 'PortfolioGroupIdComplianceParameter', 'StringListComplianceParameter', 'BoolListComplianceParameter', 'DateTimeListComplianceParameter', 'DecimalListComplianceParameter', 'PropertyKeyListComplianceParameter', 'AddressKeyListComplianceParameter', 'PortfolioIdListComplianceParameter', 'PortfolioGroupIdListComplianceParameter', 'InstrumentListComplianceParameter', 'FilterPredicateComplianceParameter', 'GroupFilterPredicateComplianceParameter', 'GroupBySelectorComplianceParameter', 'PropertyListComplianceParameter', 'GroupCalculationComplianceParameter')")
40
40
  return value
41
41
 
42
42
  class Config:
@@ -29,15 +29,15 @@ class BranchStep(ComplianceStep):
29
29
  """
30
30
  label: constr(strict=True, min_length=1) = Field(..., description="The label of the compliance step")
31
31
  parameters: conlist(ComplianceTemplateParameter) = Field(..., description="Parameters required for the step")
32
- compliance_step_type: StrictStr = Field(..., alias="complianceStepType", description=". The available values are: FilterStep, GroupByStep, GroupFilterStep, BranchStep, RecombineStep, CheckStep")
32
+ compliance_step_type: StrictStr = Field(..., alias="complianceStepType", description=". The available values are: FilterStep, GroupByStep, GroupFilterStep, BranchStep, RecombineStep, CheckStep, PercentCheckStep")
33
33
  additional_properties: Dict[str, Any] = {}
34
34
  __properties = ["complianceStepType", "label", "parameters"]
35
35
 
36
36
  @validator('compliance_step_type')
37
37
  def compliance_step_type_validate_enum(cls, value):
38
38
  """Validates the enum"""
39
- if value not in ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep'):
40
- raise ValueError("must be one of enum values ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep')")
39
+ if value not in ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep', 'PercentCheckStep'):
40
+ raise ValueError("must be one of enum values ('FilterStep', 'GroupByStep', 'GroupFilterStep', 'BranchStep', 'RecombineStep', 'CheckStep', 'PercentCheckStep')")
41
41
  return value
42
42
 
43
43
  class Config: