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

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

Potentially problematic release.


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

Files changed (50) hide show
  1. lusid/__init__.py +6 -0
  2. lusid/api/entities_api.py +180 -0
  3. lusid/api/order_management_api.py +161 -1
  4. lusid/configuration.py +1 -1
  5. lusid/models/__init__.py +6 -0
  6. lusid/models/basket.py +3 -3
  7. lusid/models/bond.py +3 -3
  8. lusid/models/cap_floor.py +3 -3
  9. lusid/models/cash_perpetual.py +3 -3
  10. lusid/models/cds_index.py +3 -3
  11. lusid/models/complex_bond.py +3 -3
  12. lusid/models/contract_for_difference.py +3 -3
  13. lusid/models/credit_default_swap.py +3 -3
  14. lusid/models/equity.py +3 -3
  15. lusid/models/equity_option.py +3 -3
  16. lusid/models/equity_swap.py +3 -3
  17. lusid/models/exchange_traded_option.py +3 -3
  18. lusid/models/exotic_instrument.py +3 -3
  19. lusid/models/fixed_leg.py +3 -3
  20. lusid/models/flexible_loan.py +3 -3
  21. lusid/models/floating_leg.py +3 -3
  22. lusid/models/forward_rate_agreement.py +3 -3
  23. lusid/models/fund_share_class.py +3 -3
  24. lusid/models/funding_leg.py +3 -3
  25. lusid/models/future.py +3 -3
  26. lusid/models/fx_forward.py +3 -3
  27. lusid/models/fx_option.py +3 -3
  28. lusid/models/fx_swap.py +3 -3
  29. lusid/models/inflation_leg.py +3 -3
  30. lusid/models/inflation_linked_bond.py +3 -3
  31. lusid/models/inflation_swap.py +3 -3
  32. lusid/models/instrument.py +7 -1
  33. lusid/models/instrument_leg.py +3 -3
  34. lusid/models/instrument_type.py +2 -0
  35. lusid/models/interest_rate_swap.py +3 -3
  36. lusid/models/interest_rate_swaption.py +3 -3
  37. lusid/models/lusid_instrument.py +3 -3
  38. lusid/models/placement_update_request.py +116 -0
  39. lusid/models/property_definition_entity.py +146 -0
  40. lusid/models/reference_instrument.py +3 -3
  41. lusid/models/repo.py +3 -3
  42. lusid/models/simple_cash_flow_loan.py +3 -3
  43. lusid/models/simple_instrument.py +3 -3
  44. lusid/models/term_deposit.py +3 -3
  45. lusid/models/total_return_swap.py +3 -3
  46. lusid/models/update_placements_response.py +153 -0
  47. lusid/models/upsert_instruments_response.py +20 -1
  48. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/METADATA +8 -3
  49. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/RECORD +50 -47
  50. {lusid_sdk-2.1.238.dist-info → lusid_sdk-2.1.243.dist-info}/WHEEL +0 -0
@@ -31,15 +31,15 @@ class SimpleCashFlowLoan(LusidInstrument):
31
31
  maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
32
32
  dom_ccy: StrictStr = Field(..., alias="domCcy", description="The domestic currency of the instrument.")
33
33
  periods: conlist(LoanPeriod) = Field(..., description="Periods of the underlying loan")
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", "startDate", "maturityDate", "domCcy", "periods"]
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:
@@ -31,7 +31,7 @@ class SimpleInstrument(LusidInstrument):
31
31
  asset_class: StrictStr = Field(..., alias="assetClass", description="The available values are: InterestRates, FX, Inflation, Equities, Credit, Commodities, Money, Unknown")
32
32
  fgn_ccys: Optional[conlist(StrictStr)] = Field(None, alias="fgnCcys", description="The set of foreign currencies, if any (optional).")
33
33
  simple_instrument_type: constr(strict=True, min_length=1) = Field(..., alias="simpleInstrumentType", description="The Instrument type of the simple instrument.")
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", "maturityDate", "domCcy", "assetClass", "fgnCcys", "simpleInstrumentType"]
37
37
 
@@ -45,8 +45,8 @@ class SimpleInstrument(LusidInstrument):
45
45
  @validator('instrument_type')
46
46
  def instrument_type_validate_enum(cls, value):
47
47
  """Validates the enum"""
48
- 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'):
49
- 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')")
48
+ 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'):
49
+ 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')")
50
50
  return value
51
51
 
52
52
  class Config:
@@ -33,15 +33,15 @@ class TermDeposit(LusidInstrument):
33
33
  flow_convention: FlowConventions = Field(..., alias="flowConvention")
34
34
  rate: Union[StrictFloat, StrictInt] = Field(..., description="The fixed rate for the term deposit. Specified as a decimal, e.g 0.03 is meant to be 3% interest")
35
35
  dom_ccy: Optional[StrictStr] = Field(None, alias="domCcy", description="The domestic currency of the instrument. This should be the same as the Currency set on the FlowConventions. You do not need to populate this field for Term Deposits in LUSID as all functionality is driven by the Currency set on the FlowConventions. LUSID will not store values saved on this field.")
36
- 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")
36
+ 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")
37
37
  additional_properties: Dict[str, Any] = {}
38
38
  __properties = ["instrumentType", "startDate", "maturityDate", "contractSize", "flowConvention", "rate", "domCcy"]
39
39
 
40
40
  @validator('instrument_type')
41
41
  def instrument_type_validate_enum(cls, value):
42
42
  """Validates the enum"""
43
- 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'):
44
- 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')")
43
+ 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'):
44
+ 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')")
45
45
  return value
46
46
 
47
47
  class Config:
@@ -32,15 +32,15 @@ class TotalReturnSwap(LusidInstrument):
32
32
  maturity_date: datetime = Field(..., alias="maturityDate", description="The final maturity date of the instrument. This means the last date on which the instruments makes a payment of any amount. For the avoidance of doubt, that is not necessarily prior to its last sensitivity date for the purposes of risk; e.g. instruments such as Constant Maturity Swaps (CMS) often have sensitivities to rates that may well be observed or set prior to the maturity date, but refer to a termination date beyond it.")
33
33
  asset_leg: AssetLeg = Field(..., alias="assetLeg")
34
34
  funding_leg: InstrumentLeg = Field(..., alias="fundingLeg")
35
- instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan")
35
+ instrument_type: StrictStr = Field(..., alias="instrumentType", description="The available values are: QuotedSecurity, InterestRateSwap, FxForward, Future, ExoticInstrument, FxOption, CreditDefaultSwap, InterestRateSwaption, Bond, EquityOption, FixedLeg, FloatingLeg, BespokeCashFlowsLeg, Unknown, TermDeposit, ContractForDifference, EquitySwap, CashPerpetual, CapFloor, CashSettled, CdsIndex, Basket, FundingLeg, FxSwap, ForwardRateAgreement, SimpleInstrument, Repo, Equity, ExchangeTradedOption, ReferenceInstrument, ComplexBond, InflationLinkedBond, InflationSwap, SimpleCashFlowLoan, TotalReturnSwap, InflationLeg, FundShareClass, FlexibleLoan, UnsettledCash, Cash")
36
36
  additional_properties: Dict[str, Any] = {}
37
37
  __properties = ["instrumentType", "startDate", "maturityDate", "assetLeg", "fundingLeg"]
38
38
 
39
39
  @validator('instrument_type')
40
40
  def instrument_type_validate_enum(cls, value):
41
41
  """Validates the enum"""
42
- if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan'):
43
- raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan')")
42
+ if value not in ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash'):
43
+ raise ValueError("must be one of enum values ('QuotedSecurity', 'InterestRateSwap', 'FxForward', 'Future', 'ExoticInstrument', 'FxOption', 'CreditDefaultSwap', 'InterestRateSwaption', 'Bond', 'EquityOption', 'FixedLeg', 'FloatingLeg', 'BespokeCashFlowsLeg', 'Unknown', 'TermDeposit', 'ContractForDifference', 'EquitySwap', 'CashPerpetual', 'CapFloor', 'CashSettled', 'CdsIndex', 'Basket', 'FundingLeg', 'FxSwap', 'ForwardRateAgreement', 'SimpleInstrument', 'Repo', 'Equity', 'ExchangeTradedOption', 'ReferenceInstrument', 'ComplexBond', 'InflationLinkedBond', 'InflationSwap', 'SimpleCashFlowLoan', 'TotalReturnSwap', 'InflationLeg', 'FundShareClass', 'FlexibleLoan', 'UnsettledCash', 'Cash')")
44
44
  return value
45
45
 
46
46
  class Config:
@@ -0,0 +1,153 @@
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 Any, Dict, List, Optional
22
+ from pydantic.v1 import BaseModel, Field, StrictStr, conlist
23
+ from lusid.models.error_detail import ErrorDetail
24
+ from lusid.models.link import Link
25
+ from lusid.models.placement import Placement
26
+ from lusid.models.response_meta_data import ResponseMetaData
27
+
28
+ class UpdatePlacementsResponse(BaseModel):
29
+ """
30
+ UpdatePlacementsResponse
31
+ """
32
+ href: Optional[StrictStr] = Field(None, description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
33
+ values: Optional[Dict[str, Placement]] = Field(None, description="The placements which have been successfully updated.")
34
+ failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The placements that could not be updated, along with a reason for their failure.")
35
+ metadata: Optional[Dict[str, conlist(ResponseMetaData)]] = Field(None, description="Meta data associated with the update event.")
36
+ links: Optional[conlist(Link)] = None
37
+ __properties = ["href", "values", "failed", "metadata", "links"]
38
+
39
+ class Config:
40
+ """Pydantic configuration"""
41
+ allow_population_by_field_name = True
42
+ validate_assignment = True
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.dict(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> UpdatePlacementsResponse:
54
+ """Create an instance of UpdatePlacementsResponse from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self):
58
+ """Returns the dictionary representation of the model using alias"""
59
+ _dict = self.dict(by_alias=True,
60
+ exclude={
61
+ },
62
+ exclude_none=True)
63
+ # override the default output from pydantic by calling `to_dict()` of each value in values (dict)
64
+ _field_dict = {}
65
+ if self.values:
66
+ for _key in self.values:
67
+ if self.values[_key]:
68
+ _field_dict[_key] = self.values[_key].to_dict()
69
+ _dict['values'] = _field_dict
70
+ # override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
71
+ _field_dict = {}
72
+ if self.failed:
73
+ for _key in self.failed:
74
+ if self.failed[_key]:
75
+ _field_dict[_key] = self.failed[_key].to_dict()
76
+ _dict['failed'] = _field_dict
77
+ # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
78
+ _field_dict_of_array = {}
79
+ if self.metadata:
80
+ for _key in self.metadata:
81
+ if self.metadata[_key]:
82
+ _field_dict_of_array[_key] = [
83
+ _item.to_dict() for _item in self.metadata[_key]
84
+ ]
85
+ _dict['metadata'] = _field_dict_of_array
86
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
87
+ _items = []
88
+ if self.links:
89
+ for _item in self.links:
90
+ if _item:
91
+ _items.append(_item.to_dict())
92
+ _dict['links'] = _items
93
+ # set to None if href (nullable) is None
94
+ # and __fields_set__ contains the field
95
+ if self.href is None and "href" in self.__fields_set__:
96
+ _dict['href'] = None
97
+
98
+ # set to None if values (nullable) is None
99
+ # and __fields_set__ contains the field
100
+ if self.values is None and "values" in self.__fields_set__:
101
+ _dict['values'] = None
102
+
103
+ # set to None if failed (nullable) is None
104
+ # and __fields_set__ contains the field
105
+ if self.failed is None and "failed" in self.__fields_set__:
106
+ _dict['failed'] = None
107
+
108
+ # set to None if metadata (nullable) is None
109
+ # and __fields_set__ contains the field
110
+ if self.metadata is None and "metadata" in self.__fields_set__:
111
+ _dict['metadata'] = None
112
+
113
+ # set to None if links (nullable) is None
114
+ # and __fields_set__ contains the field
115
+ if self.links is None and "links" in self.__fields_set__:
116
+ _dict['links'] = None
117
+
118
+ return _dict
119
+
120
+ @classmethod
121
+ def from_dict(cls, obj: dict) -> UpdatePlacementsResponse:
122
+ """Create an instance of UpdatePlacementsResponse from a dict"""
123
+ if obj is None:
124
+ return None
125
+
126
+ if not isinstance(obj, dict):
127
+ return UpdatePlacementsResponse.parse_obj(obj)
128
+
129
+ _obj = UpdatePlacementsResponse.parse_obj({
130
+ "href": obj.get("href"),
131
+ "values": dict(
132
+ (_k, Placement.from_dict(_v))
133
+ for _k, _v in obj.get("values").items()
134
+ )
135
+ if obj.get("values") is not None
136
+ else None,
137
+ "failed": dict(
138
+ (_k, ErrorDetail.from_dict(_v))
139
+ for _k, _v in obj.get("failed").items()
140
+ )
141
+ if obj.get("failed") is not None
142
+ else None,
143
+ "metadata": dict(
144
+ (_k,
145
+ [ResponseMetaData.from_dict(_item) for _item in _v]
146
+ if _v is not None
147
+ else None
148
+ )
149
+ for _k, _v in obj.get("metadata").items()
150
+ ),
151
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
152
+ })
153
+ return _obj
@@ -31,10 +31,11 @@ class UpsertInstrumentsResponse(BaseModel):
31
31
  """
32
32
  href: Optional[StrictStr] = Field(None, description="The specific Uniform Resource Identifier (URI) for this resource at the requested effective and asAt datetime.")
33
33
  values: Optional[Dict[str, Instrument]] = Field(None, description="The instruments which have been successfully updated or created.")
34
+ staged: Optional[Dict[str, Instrument]] = Field(None, description="The instruments that have been staged for updation or creation.")
34
35
  failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The instruments that could not be updated or created or were left unchanged without error along with a reason for their failure.")
35
36
  metadata: Optional[Dict[str, conlist(ResponseMetaData)]] = Field(None, description="Meta data associated with the upsert event.")
36
37
  links: Optional[conlist(Link)] = None
37
- __properties = ["href", "values", "failed", "metadata", "links"]
38
+ __properties = ["href", "values", "staged", "failed", "metadata", "links"]
38
39
 
39
40
  class Config:
40
41
  """Pydantic configuration"""
@@ -67,6 +68,13 @@ class UpsertInstrumentsResponse(BaseModel):
67
68
  if self.values[_key]:
68
69
  _field_dict[_key] = self.values[_key].to_dict()
69
70
  _dict['values'] = _field_dict
71
+ # override the default output from pydantic by calling `to_dict()` of each value in staged (dict)
72
+ _field_dict = {}
73
+ if self.staged:
74
+ for _key in self.staged:
75
+ if self.staged[_key]:
76
+ _field_dict[_key] = self.staged[_key].to_dict()
77
+ _dict['staged'] = _field_dict
70
78
  # override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
71
79
  _field_dict = {}
72
80
  if self.failed:
@@ -100,6 +108,11 @@ class UpsertInstrumentsResponse(BaseModel):
100
108
  if self.values is None and "values" in self.__fields_set__:
101
109
  _dict['values'] = None
102
110
 
111
+ # set to None if staged (nullable) is None
112
+ # and __fields_set__ contains the field
113
+ if self.staged is None and "staged" in self.__fields_set__:
114
+ _dict['staged'] = None
115
+
103
116
  # set to None if failed (nullable) is None
104
117
  # and __fields_set__ contains the field
105
118
  if self.failed is None and "failed" in self.__fields_set__:
@@ -134,6 +147,12 @@ class UpsertInstrumentsResponse(BaseModel):
134
147
  )
135
148
  if obj.get("values") is not None
136
149
  else None,
150
+ "staged": dict(
151
+ (_k, Instrument.from_dict(_v))
152
+ for _k, _v in obj.get("staged").items()
153
+ )
154
+ if obj.get("staged") is not None
155
+ else None,
137
156
  "failed": dict(
138
157
  (_k, ErrorDetail.from_dict(_v))
139
158
  for _k, _v in obj.get("failed").items()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lusid-sdk
3
- Version: 2.1.238
3
+ Version: 2.1.243
4
4
  Summary: LUSID API
5
5
  Home-page: https://github.com/finbourne/lusid-sdk-python
6
6
  License: MIT
@@ -29,8 +29,8 @@ FINBOURNE Technology
29
29
 
30
30
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
31
31
 
32
- - API version: 0.11.6671
33
- - Package version: 2.1.238
32
+ - API version: 0.11.6676
33
+ - Package version: 2.1.243
34
34
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
35
35
  For more information, please visit [https://www.finbourne.com](https://www.finbourne.com)
36
36
 
@@ -396,6 +396,7 @@ Class | Method | HTTP request | Description
396
396
  *DerivedTransactionPortfoliosApi* | [**delete_derived_portfolio_details**](docs/DerivedTransactionPortfoliosApi.md#delete_derived_portfolio_details) | **DELETE** /api/derivedtransactionportfolios/{scope}/{code}/details | [EARLY ACCESS] DeleteDerivedPortfolioDetails: Delete derived portfolio details
397
397
  *EntitiesApi* | [**get_portfolio_by_entity_unique_id**](docs/EntitiesApi.md#get_portfolio_by_entity_unique_id) | **GET** /api/entities/portfolios/{entityUniqueId} | [EXPERIMENTAL] GetPortfolioByEntityUniqueId: Get portfolio by EntityUniqueId
398
398
  *EntitiesApi* | [**get_portfolio_changes**](docs/EntitiesApi.md#get_portfolio_changes) | **GET** /api/entities/changes/portfolios | GetPortfolioChanges: Get the next change to each portfolio in a scope.
399
+ *EntitiesApi* | [**get_property_definition_by_entity_unique_id**](docs/EntitiesApi.md#get_property_definition_by_entity_unique_id) | **GET** /api/entities/propertydefinitions/{entityUniqueId} | [EXPERIMENTAL] GetPropertyDefinitionByEntityUniqueId: Get property definition by EntityUniqueId
399
400
  *ExecutionsApi* | [**delete_execution**](docs/ExecutionsApi.md#delete_execution) | **DELETE** /api/executions/{scope}/{code} | [EARLY ACCESS] DeleteExecution: Delete execution
400
401
  *ExecutionsApi* | [**get_execution**](docs/ExecutionsApi.md#get_execution) | **GET** /api/executions/{scope}/{code} | [EARLY ACCESS] GetExecution: Get Execution
401
402
  *ExecutionsApi* | [**list_executions**](docs/ExecutionsApi.md#list_executions) | **GET** /api/executions | ListExecutions: List Executions
@@ -492,6 +493,7 @@ Class | Method | HTTP request | Description
492
493
  *OrderManagementApi* | [**move_orders**](docs/OrderManagementApi.md#move_orders) | **POST** /api/ordermanagement/moveorders | [EARLY ACCESS] MoveOrders: Move orders to new or existing block
493
494
  *OrderManagementApi* | [**place_blocks**](docs/OrderManagementApi.md#place_blocks) | **POST** /api/ordermanagement/placeblocks | [EARLY ACCESS] PlaceBlocks: Places blocks for a given list of placement requests.
494
495
  *OrderManagementApi* | [**run_allocation_service**](docs/OrderManagementApi.md#run_allocation_service) | **POST** /api/ordermanagement/allocate | [EXPERIMENTAL] RunAllocationService: Runs the Allocation Service
496
+ *OrderManagementApi* | [**update_placements**](docs/OrderManagementApi.md#update_placements) | **POST** /api/ordermanagement/$updateplacements | [EARLY ACCESS] UpdatePlacements: Update existing placements
495
497
  *OrdersApi* | [**delete_order**](docs/OrdersApi.md#delete_order) | **DELETE** /api/orders/{scope}/{code} | [EARLY ACCESS] DeleteOrder: Delete order
496
498
  *OrdersApi* | [**get_order**](docs/OrdersApi.md#get_order) | **GET** /api/orders/{scope}/{code} | [EARLY ACCESS] GetOrder: Get Order
497
499
  *OrdersApi* | [**list_orders**](docs/OrdersApi.md#list_orders) | **GET** /api/orders | ListOrders: List Orders
@@ -1347,6 +1349,7 @@ Class | Method | HTTP request | Description
1347
1349
  - [Placement](docs/Placement.md)
1348
1350
  - [PlacementRequest](docs/PlacementRequest.md)
1349
1351
  - [PlacementSetRequest](docs/PlacementSetRequest.md)
1352
+ - [PlacementUpdateRequest](docs/PlacementUpdateRequest.md)
1350
1353
  - [Portfolio](docs/Portfolio.md)
1351
1354
  - [PortfolioCashFlow](docs/PortfolioCashFlow.md)
1352
1355
  - [PortfolioCashLadder](docs/PortfolioCashLadder.md)
@@ -1383,6 +1386,7 @@ Class | Method | HTTP request | Description
1383
1386
  - [PricingOptions](docs/PricingOptions.md)
1384
1387
  - [ProcessedCommand](docs/ProcessedCommand.md)
1385
1388
  - [PropertyDefinition](docs/PropertyDefinition.md)
1389
+ - [PropertyDefinitionEntity](docs/PropertyDefinitionEntity.md)
1386
1390
  - [PropertyDefinitionSearchResult](docs/PropertyDefinitionSearchResult.md)
1387
1391
  - [PropertyDefinitionType](docs/PropertyDefinitionType.md)
1388
1392
  - [PropertyDomain](docs/PropertyDomain.md)
@@ -1662,6 +1666,7 @@ Class | Method | HTTP request | Description
1662
1666
  - [UpdateDerivedPropertyDefinitionRequest](docs/UpdateDerivedPropertyDefinitionRequest.md)
1663
1667
  - [UpdateFeeTypeRequest](docs/UpdateFeeTypeRequest.md)
1664
1668
  - [UpdateInstrumentIdentifierRequest](docs/UpdateInstrumentIdentifierRequest.md)
1669
+ - [UpdatePlacementsResponse](docs/UpdatePlacementsResponse.md)
1665
1670
  - [UpdatePortfolioGroupRequest](docs/UpdatePortfolioGroupRequest.md)
1666
1671
  - [UpdatePortfolioRequest](docs/UpdatePortfolioRequest.md)
1667
1672
  - [UpdatePropertyDefinitionRequest](docs/UpdatePropertyDefinitionRequest.md)