lusid-sdk 2.3.16__py3-none-any.whl → 2.3.18__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.
lusid/__init__.py CHANGED
@@ -186,6 +186,7 @@ from lusid.models.basket import Basket
186
186
  from lusid.models.basket_identifier import BasketIdentifier
187
187
  from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
188
188
  from lusid.models.batch_amend_custom_data_model_membership_response import BatchAmendCustomDataModelMembershipResponse
189
+ from lusid.models.batch_amend_transaction_settlement_instruction_response import BatchAmendTransactionSettlementInstructionResponse
189
190
  from lusid.models.batch_delete_relational_data_response import BatchDeleteRelationalDataResponse
190
191
  from lusid.models.batch_update_user_review_for_comparison_result_request import BatchUpdateUserReviewForComparisonResultRequest
191
192
  from lusid.models.batch_update_user_review_for_comparison_result_response import BatchUpdateUserReviewForComparisonResultResponse
@@ -1183,6 +1184,7 @@ from lusid.models.set_transaction_configuration_source_request import SetTransac
1183
1184
  from lusid.models.settlement_configuration_category import SettlementConfigurationCategory
1184
1185
  from lusid.models.settlement_cycle import SettlementCycle
1185
1186
  from lusid.models.settlement_in_lieu import SettlementInLieu
1187
+ from lusid.models.settlement_instruction_amend_request import SettlementInstructionAmendRequest
1186
1188
  from lusid.models.settlement_instruction_query import SettlementInstructionQuery
1187
1189
  from lusid.models.settlement_instruction_request import SettlementInstructionRequest
1188
1190
  from lusid.models.settlement_instruction_with_transaction import SettlementInstructionWithTransaction
@@ -1619,6 +1621,7 @@ __all__ = [
1619
1621
  "BasketIdentifier",
1620
1622
  "BatchAdjustHoldingsResponse",
1621
1623
  "BatchAmendCustomDataModelMembershipResponse",
1624
+ "BatchAmendTransactionSettlementInstructionResponse",
1622
1625
  "BatchDeleteRelationalDataResponse",
1623
1626
  "BatchUpdateUserReviewForComparisonResultRequest",
1624
1627
  "BatchUpdateUserReviewForComparisonResultResponse",
@@ -2616,6 +2619,7 @@ __all__ = [
2616
2619
  "SettlementConfigurationCategory",
2617
2620
  "SettlementCycle",
2618
2621
  "SettlementInLieu",
2622
+ "SettlementInstructionAmendRequest",
2619
2623
  "SettlementInstructionQuery",
2620
2624
  "SettlementInstructionRequest",
2621
2625
  "SettlementInstructionWithTransaction",
@@ -27,6 +27,7 @@ from lusid.models.adjust_holding import AdjustHolding
27
27
  from lusid.models.adjust_holding_for_date_request import AdjustHoldingForDateRequest
28
28
  from lusid.models.adjust_holding_request import AdjustHoldingRequest
29
29
  from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
30
+ from lusid.models.batch_amend_transaction_settlement_instruction_response import BatchAmendTransactionSettlementInstructionResponse
30
31
  from lusid.models.batch_upsert_portfolio_transactions_response import BatchUpsertPortfolioTransactionsResponse
31
32
  from lusid.models.batch_upsert_transaction_settlement_instruction_response import BatchUpsertTransactionSettlementInstructionResponse
32
33
  from lusid.models.bucketed_cash_flow_request import BucketedCashFlowRequest
@@ -59,6 +60,7 @@ from lusid.models.resource_list_of_portfolio_cash_flow import ResourceListOfPort
59
60
  from lusid.models.resource_list_of_portfolio_cash_ladder import ResourceListOfPortfolioCashLadder
60
61
  from lusid.models.resource_list_of_transaction import ResourceListOfTransaction
61
62
  from lusid.models.resource_list_of_transaction_settlement_instruction import ResourceListOfTransactionSettlementInstruction
63
+ from lusid.models.settlement_instruction_amend_request import SettlementInstructionAmendRequest
62
64
  from lusid.models.settlement_instruction_query import SettlementInstructionQuery
63
65
  from lusid.models.settlement_instruction_request import SettlementInstructionRequest
64
66
  from lusid.models.transaction_query_parameters import TransactionQueryParameters
@@ -502,6 +504,189 @@ class TransactionPortfoliosApi:
502
504
  _request_auth=_params.get('_request_auth'))
503
505
 
504
506
 
507
+ @overload
508
+ async def batch_amend_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionAmendRequest], Field(description="The amendments to make to the settlement instructions.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, **kwargs) -> BatchAmendTransactionSettlementInstructionResponse: # noqa: E501
509
+ ...
510
+
511
+ @overload
512
+ def batch_amend_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionAmendRequest], Field(description="The amendments to make to the settlement instructions.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, async_req: Optional[bool]=True, **kwargs) -> BatchAmendTransactionSettlementInstructionResponse: # noqa: E501
513
+ ...
514
+
515
+ @validate_arguments
516
+ def batch_amend_settlement_instructions(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionAmendRequest], Field(description="The amendments to make to the settlement instructions.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[BatchAmendTransactionSettlementInstructionResponse, Awaitable[BatchAmendTransactionSettlementInstructionResponse]]: # noqa: E501
517
+ """[EARLY ACCESS] BatchAmendSettlementInstructions: Batch Amend Settlement Instructions. # noqa: E501
518
+
519
+ Update active state and / or properties of instructions. # noqa: E501
520
+ This method makes a synchronous HTTP request by default. To make an
521
+ asynchronous HTTP request, please pass async_req=True
522
+
523
+ >>> thread = api.batch_amend_settlement_instructions(scope, code, request_body, success_mode, async_req=True)
524
+ >>> result = thread.get()
525
+
526
+ :param scope: The scope of the portfolio. (required)
527
+ :type scope: str
528
+ :param code: The code of the portfolio. (required)
529
+ :type code: str
530
+ :param request_body: The amendments to make to the settlement instructions. (required)
531
+ :type request_body: Dict[str, SettlementInstructionAmendRequest]
532
+ :param success_mode: Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial
533
+ :type success_mode: str
534
+ :param async_req: Whether to execute the request asynchronously.
535
+ :type async_req: bool, optional
536
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
537
+ :param opts: Configuration options for this request
538
+ :type opts: ConfigurationOptions, optional
539
+ :return: Returns the result object.
540
+ If the method is called asynchronously,
541
+ returns the request thread.
542
+ :rtype: BatchAmendTransactionSettlementInstructionResponse
543
+ """
544
+ kwargs['_return_http_data_only'] = True
545
+ if '_preload_content' in kwargs:
546
+ message = "Error! Please call the batch_amend_settlement_instructions_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
547
+ raise ValueError(message)
548
+ if async_req is not None:
549
+ kwargs['async_req'] = async_req
550
+ return self.batch_amend_settlement_instructions_with_http_info(scope, code, request_body, success_mode, **kwargs) # noqa: E501
551
+
552
+ @validate_arguments
553
+ def batch_amend_settlement_instructions_with_http_info(self, scope : Annotated[StrictStr, Field(..., description="The scope of the portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the portfolio.")], request_body : Annotated[Dict[str, SettlementInstructionAmendRequest], Field(description="The amendments to make to the settlement instructions.")], success_mode : Annotated[Optional[StrictStr], Field( description="Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial")] = None, **kwargs) -> ApiResponse: # noqa: E501
554
+ """[EARLY ACCESS] BatchAmendSettlementInstructions: Batch Amend Settlement Instructions. # noqa: E501
555
+
556
+ Update active state and / or properties of instructions. # noqa: E501
557
+ This method makes a synchronous HTTP request by default. To make an
558
+ asynchronous HTTP request, please pass async_req=True
559
+
560
+ >>> thread = api.batch_amend_settlement_instructions_with_http_info(scope, code, request_body, success_mode, async_req=True)
561
+ >>> result = thread.get()
562
+
563
+ :param scope: The scope of the portfolio. (required)
564
+ :type scope: str
565
+ :param code: The code of the portfolio. (required)
566
+ :type code: str
567
+ :param request_body: The amendments to make to the settlement instructions. (required)
568
+ :type request_body: Dict[str, SettlementInstructionAmendRequest]
569
+ :param success_mode: Whether the batch request should fail Atomically or in a Partial fashion - Allowed Values: Atomic, Partial
570
+ :type success_mode: str
571
+ :param async_req: Whether to execute the request asynchronously.
572
+ :type async_req: bool, optional
573
+ :param _preload_content: if False, the ApiResponse.data will
574
+ be set to none and raw_data will store the
575
+ HTTP response body without reading/decoding.
576
+ Default is True.
577
+ :type _preload_content: bool, optional
578
+ :param _return_http_data_only: response data instead of ApiResponse
579
+ object with status code, headers, etc
580
+ :type _return_http_data_only: bool, optional
581
+ :param _request_timeout: Timeout setting. Do not use - use the opts parameter instead
582
+ :param opts: Configuration options for this request
583
+ :type opts: ConfigurationOptions, optional
584
+ :param _request_auth: set to override the auth_settings for an a single
585
+ request; this effectively ignores the authentication
586
+ in the spec for a single request.
587
+ :type _request_auth: dict, optional
588
+ :type _content_type: string, optional: force content-type for the request
589
+ :return: Returns the result object.
590
+ If the method is called asynchronously,
591
+ returns the request thread.
592
+ :rtype: tuple(BatchAmendTransactionSettlementInstructionResponse, status_code(int), headers(HTTPHeaderDict))
593
+ """
594
+
595
+ _params = locals()
596
+
597
+ _all_params = [
598
+ 'scope',
599
+ 'code',
600
+ 'request_body',
601
+ 'success_mode'
602
+ ]
603
+ _all_params.extend(
604
+ [
605
+ 'async_req',
606
+ '_return_http_data_only',
607
+ '_preload_content',
608
+ '_request_timeout',
609
+ '_request_auth',
610
+ '_content_type',
611
+ '_headers',
612
+ 'opts'
613
+ ]
614
+ )
615
+
616
+ # validate the arguments
617
+ for _key, _val in _params['kwargs'].items():
618
+ if _key not in _all_params:
619
+ raise ApiTypeError(
620
+ "Got an unexpected keyword argument '%s'"
621
+ " to method batch_amend_settlement_instructions" % _key
622
+ )
623
+ _params[_key] = _val
624
+ del _params['kwargs']
625
+
626
+ _collection_formats = {}
627
+
628
+ # process the path parameters
629
+ _path_params = {}
630
+ if _params['scope']:
631
+ _path_params['scope'] = _params['scope']
632
+
633
+ if _params['code']:
634
+ _path_params['code'] = _params['code']
635
+
636
+
637
+ # process the query parameters
638
+ _query_params = []
639
+ if _params.get('success_mode') is not None: # noqa: E501
640
+ _query_params.append(('successMode', _params['success_mode']))
641
+
642
+ # process the header parameters
643
+ _header_params = dict(_params.get('_headers', {}))
644
+ # process the form parameters
645
+ _form_params = []
646
+ _files = {}
647
+ # process the body parameter
648
+ _body_params = None
649
+ if _params['request_body'] is not None:
650
+ _body_params = _params['request_body']
651
+
652
+ # set the HTTP header `Accept`
653
+ _header_params['Accept'] = self.api_client.select_header_accept(
654
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
655
+
656
+ # set the HTTP header `Content-Type`
657
+ _content_types_list = _params.get('_content_type',
658
+ self.api_client.select_header_content_type(
659
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
660
+ if _content_types_list:
661
+ _header_params['Content-Type'] = _content_types_list
662
+
663
+ # authentication setting
664
+ _auth_settings = ['oauth2'] # noqa: E501
665
+
666
+ _response_types_map = {
667
+ '200': "BatchAmendTransactionSettlementInstructionResponse",
668
+ '400': "LusidValidationProblemDetails",
669
+ }
670
+
671
+ return self.api_client.call_api(
672
+ '/api/transactionportfolios/{scope}/{code}/settlementinstructions/$batchAmend', 'POST',
673
+ _path_params,
674
+ _query_params,
675
+ _header_params,
676
+ body=_body_params,
677
+ post_params=_form_params,
678
+ files=_files,
679
+ response_types_map=_response_types_map,
680
+ auth_settings=_auth_settings,
681
+ async_req=_params.get('async_req'),
682
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
683
+ _preload_content=_params.get('_preload_content', True),
684
+ _request_timeout=_params.get('_request_timeout'),
685
+ opts=_params.get('opts'),
686
+ collection_formats=_collection_formats,
687
+ _request_auth=_params.get('_request_auth'))
688
+
689
+
505
690
  @overload
506
691
  async def batch_create_trade_tickets(self, scope : Annotated[StrictStr, Field(..., description="The scope of the transaction portfolio.")], code : Annotated[StrictStr, Field(..., description="The code of the transaction portfolio. Together with the scope this uniquely identifies the transaction portfolio.")], lusid_trade_ticket : Annotated[List[LusidTradeTicket], Field(description="the trade tickets to create")], **kwargs) -> CreateTradeTicketsResponse: # noqa: E501
507
692
  ...
lusid/configuration.py CHANGED
@@ -445,7 +445,7 @@ class Configuration:
445
445
  return "Python SDK Debug Report:\n"\
446
446
  "OS: {env}\n"\
447
447
  "Python Version: {pyversion}\n"\
448
- "Version of the API: 0.11.8744\n"\
448
+ "Version of the API: 0.11.8748\n"\
449
449
  "SDK Package Version: {package_version}".\
450
450
  format(env=sys.platform, pyversion=sys.version, package_version=package_version)
451
451
 
lusid/models/__init__.py CHANGED
@@ -94,6 +94,7 @@ from lusid.models.basket import Basket
94
94
  from lusid.models.basket_identifier import BasketIdentifier
95
95
  from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsResponse
96
96
  from lusid.models.batch_amend_custom_data_model_membership_response import BatchAmendCustomDataModelMembershipResponse
97
+ from lusid.models.batch_amend_transaction_settlement_instruction_response import BatchAmendTransactionSettlementInstructionResponse
97
98
  from lusid.models.batch_delete_relational_data_response import BatchDeleteRelationalDataResponse
98
99
  from lusid.models.batch_update_user_review_for_comparison_result_request import BatchUpdateUserReviewForComparisonResultRequest
99
100
  from lusid.models.batch_update_user_review_for_comparison_result_response import BatchUpdateUserReviewForComparisonResultResponse
@@ -1091,6 +1092,7 @@ from lusid.models.set_transaction_configuration_source_request import SetTransac
1091
1092
  from lusid.models.settlement_configuration_category import SettlementConfigurationCategory
1092
1093
  from lusid.models.settlement_cycle import SettlementCycle
1093
1094
  from lusid.models.settlement_in_lieu import SettlementInLieu
1095
+ from lusid.models.settlement_instruction_amend_request import SettlementInstructionAmendRequest
1094
1096
  from lusid.models.settlement_instruction_query import SettlementInstructionQuery
1095
1097
  from lusid.models.settlement_instruction_request import SettlementInstructionRequest
1096
1098
  from lusid.models.settlement_instruction_with_transaction import SettlementInstructionWithTransaction
@@ -1436,6 +1438,7 @@ __all__ = [
1436
1438
  "BasketIdentifier",
1437
1439
  "BatchAdjustHoldingsResponse",
1438
1440
  "BatchAmendCustomDataModelMembershipResponse",
1441
+ "BatchAmendTransactionSettlementInstructionResponse",
1439
1442
  "BatchDeleteRelationalDataResponse",
1440
1443
  "BatchUpdateUserReviewForComparisonResultRequest",
1441
1444
  "BatchUpdateUserReviewForComparisonResultResponse",
@@ -2433,6 +2436,7 @@ __all__ = [
2433
2436
  "SettlementConfigurationCategory",
2434
2437
  "SettlementCycle",
2435
2438
  "SettlementInLieu",
2439
+ "SettlementInstructionAmendRequest",
2436
2440
  "SettlementInstructionQuery",
2437
2441
  "SettlementInstructionRequest",
2438
2442
  "SettlementInstructionWithTransaction",
@@ -0,0 +1,141 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import List, Dict, Optional, Any, Union, TYPE_CHECKING
22
+ from typing_extensions import Annotated
23
+ from pydantic.v1 import BaseModel, StrictStr, StrictInt, StrictBool, StrictFloat, StrictBytes, Field, validator, ValidationError, conlist, constr
24
+ from datetime import datetime
25
+ from lusid.models.error_detail import ErrorDetail
26
+ from lusid.models.link import Link
27
+ from lusid.models.transaction_settlement_instruction import TransactionSettlementInstruction
28
+
29
+ class BatchAmendTransactionSettlementInstructionResponse(BaseModel):
30
+ """
31
+ BatchAmendTransactionSettlementInstructionResponse
32
+ """
33
+ href: Optional[StrictStr] = Field(None,alias="href", description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
34
+ values: Optional[Dict[str, TransactionSettlementInstruction]] = Field(default=None, description="The settlement instructions which have been successfully upserted.")
35
+ failed: Optional[Dict[str, ErrorDetail]] = Field(default=None, description="The request ids of the settlement instructions which could not be upserted, along with a reason for their failure.")
36
+ links: Optional[List[Link]] = None
37
+ __properties = ["href", "values", "failed", "links"]
38
+
39
+ class Config:
40
+ """Pydantic configuration"""
41
+ allow_population_by_field_name = True
42
+ validate_assignment = True
43
+
44
+ def __str__(self):
45
+ """For `print` and `pprint`"""
46
+ return pprint.pformat(self.dict(by_alias=False))
47
+
48
+ def __repr__(self):
49
+ """For `print` and `pprint`"""
50
+ return self.to_str()
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.dict(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ return json.dumps(self.to_dict())
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> BatchAmendTransactionSettlementInstructionResponse:
62
+ """Create an instance of BatchAmendTransactionSettlementInstructionResponse from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self):
66
+ """Returns the dictionary representation of the model using alias"""
67
+ _dict = self.dict(by_alias=True,
68
+ exclude={
69
+ },
70
+ exclude_none=True)
71
+ # override the default output from pydantic by calling `to_dict()` of each value in values (dict)
72
+ _field_dict = {}
73
+ if self.values:
74
+ for _key in self.values:
75
+ if self.values[_key]:
76
+ _field_dict[_key] = self.values[_key].to_dict()
77
+ _dict['values'] = _field_dict
78
+ # override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
79
+ _field_dict = {}
80
+ if self.failed:
81
+ for _key in self.failed:
82
+ if self.failed[_key]:
83
+ _field_dict[_key] = self.failed[_key].to_dict()
84
+ _dict['failed'] = _field_dict
85
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
86
+ _items = []
87
+ if self.links:
88
+ for _item in self.links:
89
+ if _item:
90
+ _items.append(_item.to_dict())
91
+ _dict['links'] = _items
92
+ # set to None if href (nullable) is None
93
+ # and __fields_set__ contains the field
94
+ if self.href is None and "href" in self.__fields_set__:
95
+ _dict['href'] = None
96
+
97
+ # set to None if values (nullable) is None
98
+ # and __fields_set__ contains the field
99
+ if self.values is None and "values" in self.__fields_set__:
100
+ _dict['values'] = None
101
+
102
+ # set to None if failed (nullable) is None
103
+ # and __fields_set__ contains the field
104
+ if self.failed is None and "failed" in self.__fields_set__:
105
+ _dict['failed'] = None
106
+
107
+ # set to None if links (nullable) is None
108
+ # and __fields_set__ contains the field
109
+ if self.links is None and "links" in self.__fields_set__:
110
+ _dict['links'] = None
111
+
112
+ return _dict
113
+
114
+ @classmethod
115
+ def from_dict(cls, obj: dict) -> BatchAmendTransactionSettlementInstructionResponse:
116
+ """Create an instance of BatchAmendTransactionSettlementInstructionResponse from a dict"""
117
+ if obj is None:
118
+ return None
119
+
120
+ if not isinstance(obj, dict):
121
+ return BatchAmendTransactionSettlementInstructionResponse.parse_obj(obj)
122
+
123
+ _obj = BatchAmendTransactionSettlementInstructionResponse.parse_obj({
124
+ "href": obj.get("href"),
125
+ "values": dict(
126
+ (_k, TransactionSettlementInstruction.from_dict(_v))
127
+ for _k, _v in obj.get("values").items()
128
+ )
129
+ if obj.get("values") is not None
130
+ else None,
131
+ "failed": dict(
132
+ (_k, ErrorDetail.from_dict(_v))
133
+ for _k, _v in obj.get("failed").items()
134
+ )
135
+ if obj.get("failed") is not None
136
+ else None,
137
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
138
+ })
139
+ return _obj
140
+
141
+ BatchAmendTransactionSettlementInstructionResponse.update_forward_refs()
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ LUSID API
5
+
6
+ FINBOURNE Technology # noqa: E501
7
+
8
+ Contact: info@finbourne.com
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+
21
+ from typing import List, Dict, Optional, Any, Union, TYPE_CHECKING
22
+ from typing_extensions import Annotated
23
+ from pydantic.v1 import BaseModel, StrictStr, StrictInt, StrictBool, StrictFloat, StrictBytes, Field, validator, ValidationError, conlist, constr
24
+ from datetime import datetime
25
+ from lusid.models.perpetual_property import PerpetualProperty
26
+
27
+ class SettlementInstructionAmendRequest(BaseModel):
28
+ """
29
+ SettlementInstructionAmendRequest
30
+ """
31
+ settlement_instruction_id: StrictStr = Field(...,alias="settlementInstructionId")
32
+ operation: Optional[StrictStr] = Field(None,alias="operation")
33
+ properties: Optional[List[PerpetualProperty]] = None
34
+ __properties = ["settlementInstructionId", "operation", "properties"]
35
+
36
+ class Config:
37
+ """Pydantic configuration"""
38
+ allow_population_by_field_name = True
39
+ validate_assignment = True
40
+
41
+ def __str__(self):
42
+ """For `print` and `pprint`"""
43
+ return pprint.pformat(self.dict(by_alias=False))
44
+
45
+ def __repr__(self):
46
+ """For `print` and `pprint`"""
47
+ return self.to_str()
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.dict(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ return json.dumps(self.to_dict())
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> SettlementInstructionAmendRequest:
59
+ """Create an instance of SettlementInstructionAmendRequest from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self):
63
+ """Returns the dictionary representation of the model using alias"""
64
+ _dict = self.dict(by_alias=True,
65
+ exclude={
66
+ },
67
+ exclude_none=True)
68
+ # override the default output from pydantic by calling `to_dict()` of each item in properties (list)
69
+ _items = []
70
+ if self.properties:
71
+ for _item in self.properties:
72
+ if _item:
73
+ _items.append(_item.to_dict())
74
+ _dict['properties'] = _items
75
+ # set to None if operation (nullable) is None
76
+ # and __fields_set__ contains the field
77
+ if self.operation is None and "operation" in self.__fields_set__:
78
+ _dict['operation'] = None
79
+
80
+ # set to None if properties (nullable) is None
81
+ # and __fields_set__ contains the field
82
+ if self.properties is None and "properties" in self.__fields_set__:
83
+ _dict['properties'] = None
84
+
85
+ return _dict
86
+
87
+ @classmethod
88
+ def from_dict(cls, obj: dict) -> SettlementInstructionAmendRequest:
89
+ """Create an instance of SettlementInstructionAmendRequest from a dict"""
90
+ if obj is None:
91
+ return None
92
+
93
+ if not isinstance(obj, dict):
94
+ return SettlementInstructionAmendRequest.parse_obj(obj)
95
+
96
+ _obj = SettlementInstructionAmendRequest.parse_obj({
97
+ "settlement_instruction_id": obj.get("settlementInstructionId"),
98
+ "operation": obj.get("operation"),
99
+ "properties": [PerpetualProperty.from_dict(_item) for _item in obj.get("properties")] if obj.get("properties") is not None else None
100
+ })
101
+ return _obj
102
+
103
+ SettlementInstructionAmendRequest.update_forward_refs()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lusid-sdk
3
- Version: 2.3.16
3
+ Version: 2.3.18
4
4
  Summary: LUSID API
5
5
  License: MIT
6
6
  Keywords: OpenAPI,OpenAPI-Generator,LUSID API,lusid-sdk
@@ -645,6 +645,7 @@ Class | Method | HTTP request | Description
645
645
  *TransactionFeesApi* | [**upsert_transaction_fee_rules**](docs/TransactionFeesApi.md#upsert_transaction_fee_rules) | **POST** /api/transactions/fees/rules | UpsertTransactionFeeRules: Upsert fee rules.
646
646
  *TransactionPortfoliosApi* | [**adjust_holdings**](docs/TransactionPortfoliosApi.md#adjust_holdings) | **POST** /api/transactionportfolios/{scope}/{code}/holdings | AdjustHoldings: Adjust holdings
647
647
  *TransactionPortfoliosApi* | [**batch_adjust_holdings**](docs/TransactionPortfoliosApi.md#batch_adjust_holdings) | **POST** /api/transactionportfolios/{scope}/{code}/holdings/$batchAdjust | BatchAdjustHoldings: Batch adjust holdings
648
+ *TransactionPortfoliosApi* | [**batch_amend_settlement_instructions**](docs/TransactionPortfoliosApi.md#batch_amend_settlement_instructions) | **POST** /api/transactionportfolios/{scope}/{code}/settlementinstructions/$batchAmend | [EARLY ACCESS] BatchAmendSettlementInstructions: Batch Amend Settlement Instructions.
648
649
  *TransactionPortfoliosApi* | [**batch_create_trade_tickets**](docs/TransactionPortfoliosApi.md#batch_create_trade_tickets) | **POST** /api/transactionportfolios/{scope}/{code}/$batchtradetickets | BatchCreateTradeTickets: Batch Create Trade Tickets
649
650
  *TransactionPortfoliosApi* | [**batch_set_holdings**](docs/TransactionPortfoliosApi.md#batch_set_holdings) | **POST** /api/transactionportfolios/{scope}/{code}/holdings/$batchSet | BatchSetHoldings: Batch set holdings
650
651
  *TransactionPortfoliosApi* | [**batch_upsert_settlement_instructions**](docs/TransactionPortfoliosApi.md#batch_upsert_settlement_instructions) | **POST** /api/transactionportfolios/{scope}/{code}/settlementinstructions/$batchUpsert | [EARLY ACCESS] BatchUpsertSettlementInstructions: Batch Upsert Settlement Instructions.
@@ -788,6 +789,7 @@ Class | Method | HTTP request | Description
788
789
  - [BasketIdentifier](docs/BasketIdentifier.md)
789
790
  - [BatchAdjustHoldingsResponse](docs/BatchAdjustHoldingsResponse.md)
790
791
  - [BatchAmendCustomDataModelMembershipResponse](docs/BatchAmendCustomDataModelMembershipResponse.md)
792
+ - [BatchAmendTransactionSettlementInstructionResponse](docs/BatchAmendTransactionSettlementInstructionResponse.md)
791
793
  - [BatchDeleteRelationalDataResponse](docs/BatchDeleteRelationalDataResponse.md)
792
794
  - [BatchUpdateUserReviewForComparisonResultRequest](docs/BatchUpdateUserReviewForComparisonResultRequest.md)
793
795
  - [BatchUpdateUserReviewForComparisonResultResponse](docs/BatchUpdateUserReviewForComparisonResultResponse.md)
@@ -1785,6 +1787,7 @@ Class | Method | HTTP request | Description
1785
1787
  - [SettlementConfigurationCategory](docs/SettlementConfigurationCategory.md)
1786
1788
  - [SettlementCycle](docs/SettlementCycle.md)
1787
1789
  - [SettlementInLieu](docs/SettlementInLieu.md)
1790
+ - [SettlementInstructionAmendRequest](docs/SettlementInstructionAmendRequest.md)
1788
1791
  - [SettlementInstructionQuery](docs/SettlementInstructionQuery.md)
1789
1792
  - [SettlementInstructionRequest](docs/SettlementInstructionRequest.md)
1790
1793
  - [SettlementInstructionWithTransaction](docs/SettlementInstructionWithTransaction.md)
@@ -1,4 +1,4 @@
1
- lusid/__init__.py,sha256=RIHsxvknp5XCpcYdctr2MJrAVWkGffp6LbuuFTz3v18,152395
1
+ lusid/__init__.py,sha256=e_i4hVgG4MUEFKHi3mTTR3jCbwavWzaMBCLTZT554Cc,152722
2
2
  lusid/api/__init__.py,sha256=ZRwaw_f87IHsKoGcZrKHw8M0fm3Mu3UM3nbiVK73HQg,6881
3
3
  lusid/api/abor_api.py,sha256=HAy-AS66qepFFi0wCDU2Aaj6KzY3LDtEpcBm1Eo8M3M,174017
4
4
  lusid/api/abor_configuration_api.py,sha256=DsR-gAPTA_e0XxS3m20Gvk8HeeqltKPXutpdmdxM0IM,84066
@@ -75,13 +75,13 @@ lusid/api/tax_rule_sets_api.py,sha256=-ROCfRpxfCHD0e36e3qf5UOoOIIgxbd8qBJHAuD7LL
75
75
  lusid/api/timelines_api.py,sha256=gXi4nQnZrV0JvUJzLXi_6-OetU2dhiZZpjzor6u2nww,141508
76
76
  lusid/api/transaction_configuration_api.py,sha256=nIQWvd7Bghl-KQXfKDCXaYXG9dzFtdzDBSfQRWhmCs8,103844
77
77
  lusid/api/transaction_fees_api.py,sha256=e_NUn6jBgTC_rQtv1htJ1K16ZIU-Oq3gg-uyUgxXinY,62619
78
- lusid/api/transaction_portfolios_api.py,sha256=MqqcLHvCu5cdLQ5ldtpe9YKTBjlmZKS4VcTRTydJnn0,707085
78
+ lusid/api/transaction_portfolios_api.py,sha256=PYcbe_AqH-q9d8Oz-VOi8vkh6-g26LQLRJql6sj7ArA,717914
79
79
  lusid/api/transfer_agency_api.py,sha256=k5jhNKRJPr0lZRddJ5keTxH-wLOUCKZIJQJwl09Ym9o,9523
80
80
  lusid/api/translation_api.py,sha256=ykq--aAObjON30cqkCgtlvNVN_X9o1kCFHBuhx0TqOY,20186
81
81
  lusid/api/workspace_api.py,sha256=cIVlsVXulKjrNIF1NMaEH11-YRF3gOmLN6KaXVeECnk,120530
82
82
  lusid/api_client.py,sha256=9ShwOKmMJEOUj82dVLKP8CIkwu0aGV2H5qwGxTVJp7w,31170
83
83
  lusid/api_response.py,sha256=6-gnhty6lu8MMAERt3_kTVD7UxQgWFfcjgpcq6iN5IU,855
84
- lusid/configuration.py,sha256=oBGbtJljagHhwFWdVLmIrALoHStat_W3SMrPtWBXxKY,17980
84
+ lusid/configuration.py,sha256=8Tho8TzeI3llL5puvC6Mrnmd8gJBXauKCa8gn7wYAY8,17980
85
85
  lusid/exceptions.py,sha256=lYAJyHpruxMPUtZ95NwiYJvqzInY8S0yhRE0-JFYCww,5873
86
86
  lusid/extensions/__init__.py,sha256=dzDHEzpn-9smd2-_UMWQzeyX6Ha4jGf6fnqx7qxKxNI,630
87
87
  lusid/extensions/api_client.py,sha256=cq0kCulu3hsJ7jMPQfsE8B6FIa8ppTSXqneHo19RrXQ,30973
@@ -96,7 +96,7 @@ lusid/extensions/rest.py,sha256=dp-bD_LMR2zAL1tmC3-urhWKLomXx7r5iGN1VteMBVQ,1601
96
96
  lusid/extensions/retry.py,sha256=EhW9OKJmGHipxN3H7eROH5DiMlAnfBVl95NQrttcsdg,14834
97
97
  lusid/extensions/socket_keep_alive.py,sha256=eX5ICvGfVzUCGIm80Q2RknfFZrBQAdnrcpY61M29V_k,1997
98
98
  lusid/extensions/tcp_keep_alive_connector.py,sha256=zaGtUsygRsxB1_4B3x39K3ILwztdhMLDv5bFZV7zmGE,3877
99
- lusid/models/__init__.py,sha256=fMBB-v3oPX3_xXyD-5563qrbtoos54eM5KXb5zwgwCg,144482
99
+ lusid/models/__init__.py,sha256=jyiyRcX07kZrMqlCb0jTcOdIDpB0sDOC_SxqpP9uis8,144809
100
100
  lusid/models/a2_b_breakdown.py,sha256=18pIlwVZuDhVxDqLjbyBxNuZ_VUO3GFmmChiRyKpQaA,3392
101
101
  lusid/models/a2_b_category.py,sha256=T_mFjHci03cwrdOsv745rSmcSMfNM9GSsWwoHjUmRl4,3192
102
102
  lusid/models/a2_b_data_record.py,sha256=rt2ejMPpWR9t-b4hkErU11UU6a_nncGGns6x5tMY-GI,10217
@@ -177,6 +177,7 @@ lusid/models/basket.py,sha256=kLCSA2xGgFesZNpHcPK4_sNw3XDeVjl8MQC3whlSBNQ,9974
177
177
  lusid/models/basket_identifier.py,sha256=YY0VE6vceESk02cE24Plrlr4cE6VKDH2CGpe23W9iwI,3049
178
178
  lusid/models/batch_adjust_holdings_response.py,sha256=65kDZ44W8zdXq0UZaGL2aJrdh8ouNhDF1kdbq0PVmo4,6167
179
179
  lusid/models/batch_amend_custom_data_model_membership_response.py,sha256=RHfaR5eBt0YAgxPLDzQ--nLb39C2-cgAUOAtSqsKQlY,6204
180
+ lusid/models/batch_amend_transaction_settlement_instruction_response.py,sha256=ZF8KfQwQPVWgN0PfIzi7pNhplWw1D1aMiNimpgSLso0,5692
180
181
  lusid/models/batch_delete_relational_data_response.py,sha256=6xLpRTE9Et1AwI_LyfXeWjC4vQCnXU7Sp34fXxfoEkw,3939
181
182
  lusid/models/batch_update_user_review_for_comparison_result_request.py,sha256=fYZbt2RUr1E30LqqvWpnPiBdXc684yiPf2f2d1NH3ek,3977
182
183
  lusid/models/batch_update_user_review_for_comparison_result_response.py,sha256=21RlFmZQdhfkEdph_EbBVJIz0-61ULFJ--p4hKZk9qE,6493
@@ -1174,6 +1175,7 @@ lusid/models/set_transaction_configuration_source_request.py,sha256=Tto5Q1njev5O
1174
1175
  lusid/models/settlement_configuration_category.py,sha256=kg-DTFnECpridEB1Pm9IYbjDQZhYUebGkAqKaiRocb0,4082
1175
1176
  lusid/models/settlement_cycle.py,sha256=XAOT_GUwQ6Zd0cP978j3K_OvoY-7-Y8iwAWxTOQfxEM,2925
1176
1177
  lusid/models/settlement_in_lieu.py,sha256=tIkkc0bXgDtgNpvdT41H3hZFOePfi7SnSseDIZlszBg,2719
1178
+ lusid/models/settlement_instruction_amend_request.py,sha256=fduLbkayqYn91du6hECko_5W3GCtElyyVz-2jQ5GQrE,3703
1177
1179
  lusid/models/settlement_instruction_query.py,sha256=e0nVH_DcfoWnIJ3CzvGg1-H9af_8EFJL0G7aJiEnRqg,5261
1178
1180
  lusid/models/settlement_instruction_request.py,sha256=NNbdK4JTMZgEVot71I-rP9fImT4Dk4cu0ITwFiVzmag,7784
1179
1181
  lusid/models/settlement_instruction_with_transaction.py,sha256=utE_c2k5hb2ThRJ3FdnDZPzSWuokZeJkdF5Py2-_ObA,3608
@@ -1438,6 +1440,6 @@ lusid/models/year_month_day.py,sha256=H4OeBzWuMg6mwiOAHFfAvrzjd3QrFCqx1ldsB4L9YQ
1438
1440
  lusid/models/yield_curve_data.py,sha256=_BmEhhFXrGpBb7qL9WZJpVPeat4twES7nSQggts6_WI,10457
1439
1441
  lusid/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1440
1442
  lusid/rest.py,sha256=HQT__5LQEMu6_1sLKvYj-DI4FH1DJXBIPYfZCTTyrY4,13431
1441
- lusid_sdk-2.3.16.dist-info/METADATA,sha256=XA0XOuCv9vktk-6bFGO3WqItvDW0mBvOHOeoJrBvaR0,241785
1442
- lusid_sdk-2.3.16.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
1443
- lusid_sdk-2.3.16.dist-info/RECORD,,
1443
+ lusid_sdk-2.3.18.dist-info/METADATA,sha256=MeUAew54eOgqXnQVdPCdQnQ3KvA7iXIZuuTpudxcvPQ,242300
1444
+ lusid_sdk-2.3.18.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
1445
+ lusid_sdk-2.3.18.dist-info/RECORD,,