lusid-sdk 2.1.405__py3-none-any.whl → 2.1.423__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.
Files changed (72) hide show
  1. lusid/__init__.py +40 -8
  2. lusid/api/__init__.py +2 -2
  3. lusid/api/abor_api.py +8 -16
  4. lusid/api/allocations_api.py +2 -2
  5. lusid/api/chart_of_accounts_api.py +174 -0
  6. lusid/api/custom_entities_api.py +2 -2
  7. lusid/api/entities_api.py +180 -0
  8. lusid/api/{fund_configurations_api.py → fund_configuration_entities_api.py} +1 -1
  9. lusid/api/group_reconciliations_api.py +1418 -27
  10. lusid/api/instruments_api.py +6 -6
  11. lusid/api/legal_entities_api.py +4 -4
  12. lusid/api/order_graph_api.py +4 -4
  13. lusid/api/portfolios_api.py +27 -30
  14. lusid/api/reference_lists_api.py +2 -2
  15. lusid/api/reference_portfolio_api.py +176 -0
  16. lusid/api/transaction_portfolios_api.py +2 -2
  17. lusid/configuration.py +1 -1
  18. lusid/models/__init__.py +38 -6
  19. lusid/models/access_metadata_value.py +1 -1
  20. lusid/models/address_key_list.py +3 -3
  21. lusid/models/amount.py +69 -0
  22. lusid/models/batch_upsert_portfolio_access_metadata_request.py +27 -17
  23. lusid/models/batch_upsert_portfolio_access_metadata_response.py +56 -16
  24. lusid/models/{metadata_key_value.py → batch_upsert_portfolio_access_metadata_response_item.py} +15 -9
  25. lusid/models/{component_rule.py → break_code_source.py} +17 -21
  26. lusid/models/create_group_reconciliation_definition_request.py +113 -0
  27. lusid/models/custom_entity_entity.py +146 -0
  28. lusid/models/decimal_list.py +3 -3
  29. lusid/models/diary_entry_request.py +10 -1
  30. lusid/models/fixed_schedule.py +3 -3
  31. lusid/models/float_schedule.py +4 -4
  32. lusid/models/flow_conventions.py +7 -1
  33. lusid/models/fund_configuration.py +44 -17
  34. lusid/models/fund_configuration_request.py +31 -19
  35. lusid/models/fund_id_list.py +99 -0
  36. lusid/models/group_reconciliation_aggregate_attribute_rule.py +2 -2
  37. lusid/models/group_reconciliation_aggregate_comparison_rule_operand.py +1 -1
  38. lusid/models/group_reconciliation_core_comparison_rule_operand.py +1 -1
  39. lusid/models/group_reconciliation_definition.py +136 -0
  40. lusid/models/group_reconciliation_definition_comparison_ruleset_ids.py +83 -0
  41. lusid/models/group_reconciliation_definition_currencies.py +71 -0
  42. lusid/models/group_reconciliation_definition_portfolio_entity_ids.py +86 -0
  43. lusid/models/group_reconciliation_definition_recipe_ids.py +78 -0
  44. lusid/models/instrument.py +7 -1
  45. lusid/models/instrument_definition.py +8 -2
  46. lusid/models/instrument_list.py +3 -3
  47. lusid/models/market_data_key_rule.py +5 -3
  48. lusid/models/market_data_specific_rule.py +5 -3
  49. lusid/models/merger_event.py +19 -19
  50. lusid/models/output_transaction.py +9 -2
  51. lusid/models/paged_resource_list_of_group_reconciliation_comparison_ruleset.py +113 -0
  52. lusid/models/paged_resource_list_of_group_reconciliation_definition.py +113 -0
  53. lusid/models/portfolio_group_id_list.py +3 -3
  54. lusid/models/portfolio_id_list.py +3 -3
  55. lusid/models/property_list.py +3 -3
  56. lusid/models/reference_list.py +6 -5
  57. lusid/models/reference_list_type.py +1 -0
  58. lusid/models/settlement_cycle.py +79 -0
  59. lusid/models/share_class_dealing_breakdown.py +3 -2
  60. lusid/models/stock_dividend_event.py +17 -3
  61. lusid/models/string_list.py +3 -3
  62. lusid/models/transaction.py +9 -2
  63. lusid/models/transaction_date_windows.py +85 -0
  64. lusid/models/transaction_request.py +9 -2
  65. lusid/models/update_group_reconciliation_comparison_ruleset_request.py +91 -0
  66. lusid/models/update_group_reconciliation_definition_request.py +107 -0
  67. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +84 -0
  68. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +115 -0
  69. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/METADATA +50 -23
  70. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/RECORD +71 -55
  71. lusid/models/metadata_key_value_response.py +0 -86
  72. {lusid_sdk-2.1.405.dist-info → lusid_sdk-2.1.423.dist-info}/WHEEL +0 -0
lusid/models/__init__.py CHANGED
@@ -67,6 +67,7 @@ from lusid.models.allocation_set_request import AllocationSetRequest
67
67
  from lusid.models.amortisation_event import AmortisationEvent
68
68
  from lusid.models.amortisation_rule import AmortisationRule
69
69
  from lusid.models.amortisation_rule_set import AmortisationRuleSet
70
+ from lusid.models.amount import Amount
70
71
  from lusid.models.annul_quotes_response import AnnulQuotesResponse
71
72
  from lusid.models.annul_single_structured_data_response import AnnulSingleStructuredDataResponse
72
73
  from lusid.models.annul_structured_data_response import AnnulStructuredDataResponse
@@ -80,6 +81,7 @@ from lusid.models.batch_adjust_holdings_response import BatchAdjustHoldingsRespo
80
81
  from lusid.models.batch_upsert_instrument_properties_response import BatchUpsertInstrumentPropertiesResponse
81
82
  from lusid.models.batch_upsert_portfolio_access_metadata_request import BatchUpsertPortfolioAccessMetadataRequest
82
83
  from lusid.models.batch_upsert_portfolio_access_metadata_response import BatchUpsertPortfolioAccessMetadataResponse
84
+ from lusid.models.batch_upsert_portfolio_access_metadata_response_item import BatchUpsertPortfolioAccessMetadataResponseItem
83
85
  from lusid.models.batch_upsert_portfolio_transactions_response import BatchUpsertPortfolioTransactionsResponse
84
86
  from lusid.models.batch_upsert_property_definition_properties_response import BatchUpsertPropertyDefinitionPropertiesResponse
85
87
  from lusid.models.block import Block
@@ -102,6 +104,7 @@ from lusid.models.bool_compliance_parameter import BoolComplianceParameter
102
104
  from lusid.models.bool_list_compliance_parameter import BoolListComplianceParameter
103
105
  from lusid.models.branch_step import BranchStep
104
106
  from lusid.models.branch_step_request import BranchStepRequest
107
+ from lusid.models.break_code_source import BreakCodeSource
105
108
  from lusid.models.bucketed_cash_flow_request import BucketedCashFlowRequest
106
109
  from lusid.models.bucketed_cash_flow_response import BucketedCashFlowResponse
107
110
  from lusid.models.bucketing_schedule import BucketingSchedule
@@ -185,7 +188,6 @@ from lusid.models.compliance_template_variation import ComplianceTemplateVariati
185
188
  from lusid.models.compliance_template_variation_dto import ComplianceTemplateVariationDto
186
189
  from lusid.models.compliance_template_variation_request import ComplianceTemplateVariationRequest
187
190
  from lusid.models.component_filter import ComponentFilter
188
- from lusid.models.component_rule import ComponentRule
189
191
  from lusid.models.component_transaction import ComponentTransaction
190
192
  from lusid.models.composite_breakdown import CompositeBreakdown
191
193
  from lusid.models.composite_breakdown_request import CompositeBreakdownRequest
@@ -219,6 +221,7 @@ from lusid.models.create_date_request import CreateDateRequest
219
221
  from lusid.models.create_derived_property_definition_request import CreateDerivedPropertyDefinitionRequest
220
222
  from lusid.models.create_derived_transaction_portfolio_request import CreateDerivedTransactionPortfolioRequest
221
223
  from lusid.models.create_group_reconciliation_comparison_ruleset_request import CreateGroupReconciliationComparisonRulesetRequest
224
+ from lusid.models.create_group_reconciliation_definition_request import CreateGroupReconciliationDefinitionRequest
222
225
  from lusid.models.create_portfolio_details import CreatePortfolioDetails
223
226
  from lusid.models.create_portfolio_group_request import CreatePortfolioGroupRequest
224
227
  from lusid.models.create_property_definition_request import CreatePropertyDefinitionRequest
@@ -249,6 +252,7 @@ from lusid.models.custodian_account_request import CustodianAccountRequest
249
252
  from lusid.models.custodian_accounts_upsert_response import CustodianAccountsUpsertResponse
250
253
  from lusid.models.custom_entity_definition import CustomEntityDefinition
251
254
  from lusid.models.custom_entity_definition_request import CustomEntityDefinitionRequest
255
+ from lusid.models.custom_entity_entity import CustomEntityEntity
252
256
  from lusid.models.custom_entity_field import CustomEntityField
253
257
  from lusid.models.custom_entity_field_definition import CustomEntityFieldDefinition
254
258
  from lusid.models.custom_entity_id import CustomEntityId
@@ -360,6 +364,7 @@ from lusid.models.fund_configuration import FundConfiguration
360
364
  from lusid.models.fund_configuration_properties import FundConfigurationProperties
361
365
  from lusid.models.fund_configuration_request import FundConfigurationRequest
362
366
  from lusid.models.fund_details import FundDetails
367
+ from lusid.models.fund_id_list import FundIdList
363
368
  from lusid.models.fund_pnl_breakdown import FundPnlBreakdown
364
369
  from lusid.models.fund_previous_nav import FundPreviousNAV
365
370
  from lusid.models.fund_properties import FundProperties
@@ -422,6 +427,11 @@ from lusid.models.group_reconciliation_comparison_rule_tolerance import GroupRec
422
427
  from lusid.models.group_reconciliation_comparison_ruleset import GroupReconciliationComparisonRuleset
423
428
  from lusid.models.group_reconciliation_core_attribute_rule import GroupReconciliationCoreAttributeRule
424
429
  from lusid.models.group_reconciliation_core_comparison_rule_operand import GroupReconciliationCoreComparisonRuleOperand
430
+ from lusid.models.group_reconciliation_definition import GroupReconciliationDefinition
431
+ from lusid.models.group_reconciliation_definition_comparison_ruleset_ids import GroupReconciliationDefinitionComparisonRulesetIds
432
+ from lusid.models.group_reconciliation_definition_currencies import GroupReconciliationDefinitionCurrencies
433
+ from lusid.models.group_reconciliation_definition_portfolio_entity_ids import GroupReconciliationDefinitionPortfolioEntityIds
434
+ from lusid.models.group_reconciliation_definition_recipe_ids import GroupReconciliationDefinitionRecipeIds
425
435
  from lusid.models.grouped_result_of_address_key import GroupedResultOfAddressKey
426
436
  from lusid.models.holding_adjustment import HoldingAdjustment
427
437
  from lusid.models.holding_adjustment_with_date import HoldingAdjustmentWithDate
@@ -519,8 +529,6 @@ from lusid.models.market_quote import MarketQuote
519
529
  from lusid.models.match_criterion import MatchCriterion
520
530
  from lusid.models.maturity_event import MaturityEvent
521
531
  from lusid.models.merger_event import MergerEvent
522
- from lusid.models.metadata_key_value import MetadataKeyValue
523
- from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
524
532
  from lusid.models.metric_value import MetricValue
525
533
  from lusid.models.model_options import ModelOptions
526
534
  from lusid.models.model_options_type import ModelOptionsType
@@ -608,6 +616,8 @@ from lusid.models.paged_resource_list_of_fee_type import PagedResourceListOfFeeT
608
616
  from lusid.models.paged_resource_list_of_fund import PagedResourceListOfFund
609
617
  from lusid.models.paged_resource_list_of_fund_configuration import PagedResourceListOfFundConfiguration
610
618
  from lusid.models.paged_resource_list_of_general_ledger_profile_response import PagedResourceListOfGeneralLedgerProfileResponse
619
+ from lusid.models.paged_resource_list_of_group_reconciliation_comparison_ruleset import PagedResourceListOfGroupReconciliationComparisonRuleset
620
+ from lusid.models.paged_resource_list_of_group_reconciliation_definition import PagedResourceListOfGroupReconciliationDefinition
611
621
  from lusid.models.paged_resource_list_of_instrument import PagedResourceListOfInstrument
612
622
  from lusid.models.paged_resource_list_of_instrument_event_holder import PagedResourceListOfInstrumentEventHolder
613
623
  from lusid.models.paged_resource_list_of_instrument_event_instruction import PagedResourceListOfInstrumentEventInstruction
@@ -873,6 +883,7 @@ from lusid.models.set_person_properties_request import SetPersonPropertiesReques
873
883
  from lusid.models.set_share_class_instruments_request import SetShareClassInstrumentsRequest
874
884
  from lusid.models.set_transaction_configuration_alias import SetTransactionConfigurationAlias
875
885
  from lusid.models.set_transaction_configuration_source_request import SetTransactionConfigurationSourceRequest
886
+ from lusid.models.settlement_cycle import SettlementCycle
876
887
  from lusid.models.settlement_schedule import SettlementSchedule
877
888
  from lusid.models.share_class_amount import ShareClassAmount
878
889
  from lusid.models.share_class_breakdown import ShareClassBreakdown
@@ -932,6 +943,7 @@ from lusid.models.transaction_configuration_movement_data import TransactionConf
932
943
  from lusid.models.transaction_configuration_movement_data_request import TransactionConfigurationMovementDataRequest
933
944
  from lusid.models.transaction_configuration_type_alias import TransactionConfigurationTypeAlias
934
945
  from lusid.models.transaction_currency_and_amount import TransactionCurrencyAndAmount
946
+ from lusid.models.transaction_date_windows import TransactionDateWindows
935
947
  from lusid.models.transaction_diagnostics import TransactionDiagnostics
936
948
  from lusid.models.transaction_field_map import TransactionFieldMap
937
949
  from lusid.models.transaction_price import TransactionPrice
@@ -989,6 +1001,8 @@ from lusid.models.update_cut_label_definition_request import UpdateCutLabelDefin
989
1001
  from lusid.models.update_data_type_request import UpdateDataTypeRequest
990
1002
  from lusid.models.update_derived_property_definition_request import UpdateDerivedPropertyDefinitionRequest
991
1003
  from lusid.models.update_fee_type_request import UpdateFeeTypeRequest
1004
+ from lusid.models.update_group_reconciliation_comparison_ruleset_request import UpdateGroupReconciliationComparisonRulesetRequest
1005
+ from lusid.models.update_group_reconciliation_definition_request import UpdateGroupReconciliationDefinitionRequest
992
1006
  from lusid.models.update_instrument_identifier_request import UpdateInstrumentIdentifierRequest
993
1007
  from lusid.models.update_orders_response import UpdateOrdersResponse
994
1008
  from lusid.models.update_placements_response import UpdatePlacementsResponse
@@ -1033,6 +1047,8 @@ from lusid.models.upsert_quote_request import UpsertQuoteRequest
1033
1047
  from lusid.models.upsert_quotes_response import UpsertQuotesResponse
1034
1048
  from lusid.models.upsert_recipe_composer_request import UpsertRecipeComposerRequest
1035
1049
  from lusid.models.upsert_recipe_request import UpsertRecipeRequest
1050
+ from lusid.models.upsert_reference_portfolio_constituent_properties_request import UpsertReferencePortfolioConstituentPropertiesRequest
1051
+ from lusid.models.upsert_reference_portfolio_constituent_properties_response import UpsertReferencePortfolioConstituentPropertiesResponse
1036
1052
  from lusid.models.upsert_reference_portfolio_constituents_request import UpsertReferencePortfolioConstituentsRequest
1037
1053
  from lusid.models.upsert_reference_portfolio_constituents_response import UpsertReferencePortfolioConstituentsResponse
1038
1054
  from lusid.models.upsert_result_values_data_request import UpsertResultValuesDataRequest
@@ -1137,6 +1153,7 @@ __all__ = [
1137
1153
  "AmortisationEvent",
1138
1154
  "AmortisationRule",
1139
1155
  "AmortisationRuleSet",
1156
+ "Amount",
1140
1157
  "AnnulQuotesResponse",
1141
1158
  "AnnulSingleStructuredDataResponse",
1142
1159
  "AnnulStructuredDataResponse",
@@ -1150,6 +1167,7 @@ __all__ = [
1150
1167
  "BatchUpsertInstrumentPropertiesResponse",
1151
1168
  "BatchUpsertPortfolioAccessMetadataRequest",
1152
1169
  "BatchUpsertPortfolioAccessMetadataResponse",
1170
+ "BatchUpsertPortfolioAccessMetadataResponseItem",
1153
1171
  "BatchUpsertPortfolioTransactionsResponse",
1154
1172
  "BatchUpsertPropertyDefinitionPropertiesResponse",
1155
1173
  "Block",
@@ -1172,6 +1190,7 @@ __all__ = [
1172
1190
  "BoolListComplianceParameter",
1173
1191
  "BranchStep",
1174
1192
  "BranchStepRequest",
1193
+ "BreakCodeSource",
1175
1194
  "BucketedCashFlowRequest",
1176
1195
  "BucketedCashFlowResponse",
1177
1196
  "BucketingSchedule",
@@ -1255,7 +1274,6 @@ __all__ = [
1255
1274
  "ComplianceTemplateVariationDto",
1256
1275
  "ComplianceTemplateVariationRequest",
1257
1276
  "ComponentFilter",
1258
- "ComponentRule",
1259
1277
  "ComponentTransaction",
1260
1278
  "CompositeBreakdown",
1261
1279
  "CompositeBreakdownRequest",
@@ -1289,6 +1307,7 @@ __all__ = [
1289
1307
  "CreateDerivedPropertyDefinitionRequest",
1290
1308
  "CreateDerivedTransactionPortfolioRequest",
1291
1309
  "CreateGroupReconciliationComparisonRulesetRequest",
1310
+ "CreateGroupReconciliationDefinitionRequest",
1292
1311
  "CreatePortfolioDetails",
1293
1312
  "CreatePortfolioGroupRequest",
1294
1313
  "CreatePropertyDefinitionRequest",
@@ -1319,6 +1338,7 @@ __all__ = [
1319
1338
  "CustodianAccountsUpsertResponse",
1320
1339
  "CustomEntityDefinition",
1321
1340
  "CustomEntityDefinitionRequest",
1341
+ "CustomEntityEntity",
1322
1342
  "CustomEntityField",
1323
1343
  "CustomEntityFieldDefinition",
1324
1344
  "CustomEntityId",
@@ -1430,6 +1450,7 @@ __all__ = [
1430
1450
  "FundConfigurationProperties",
1431
1451
  "FundConfigurationRequest",
1432
1452
  "FundDetails",
1453
+ "FundIdList",
1433
1454
  "FundPnlBreakdown",
1434
1455
  "FundPreviousNAV",
1435
1456
  "FundProperties",
@@ -1492,6 +1513,11 @@ __all__ = [
1492
1513
  "GroupReconciliationComparisonRuleset",
1493
1514
  "GroupReconciliationCoreAttributeRule",
1494
1515
  "GroupReconciliationCoreComparisonRuleOperand",
1516
+ "GroupReconciliationDefinition",
1517
+ "GroupReconciliationDefinitionComparisonRulesetIds",
1518
+ "GroupReconciliationDefinitionCurrencies",
1519
+ "GroupReconciliationDefinitionPortfolioEntityIds",
1520
+ "GroupReconciliationDefinitionRecipeIds",
1495
1521
  "GroupedResultOfAddressKey",
1496
1522
  "HoldingAdjustment",
1497
1523
  "HoldingAdjustmentWithDate",
@@ -1589,8 +1615,6 @@ __all__ = [
1589
1615
  "MatchCriterion",
1590
1616
  "MaturityEvent",
1591
1617
  "MergerEvent",
1592
- "MetadataKeyValue",
1593
- "MetadataKeyValueResponse",
1594
1618
  "MetricValue",
1595
1619
  "ModelOptions",
1596
1620
  "ModelOptionsType",
@@ -1678,6 +1702,8 @@ __all__ = [
1678
1702
  "PagedResourceListOfFund",
1679
1703
  "PagedResourceListOfFundConfiguration",
1680
1704
  "PagedResourceListOfGeneralLedgerProfileResponse",
1705
+ "PagedResourceListOfGroupReconciliationComparisonRuleset",
1706
+ "PagedResourceListOfGroupReconciliationDefinition",
1681
1707
  "PagedResourceListOfInstrument",
1682
1708
  "PagedResourceListOfInstrumentEventHolder",
1683
1709
  "PagedResourceListOfInstrumentEventInstruction",
@@ -1943,6 +1969,7 @@ __all__ = [
1943
1969
  "SetShareClassInstrumentsRequest",
1944
1970
  "SetTransactionConfigurationAlias",
1945
1971
  "SetTransactionConfigurationSourceRequest",
1972
+ "SettlementCycle",
1946
1973
  "SettlementSchedule",
1947
1974
  "ShareClassAmount",
1948
1975
  "ShareClassBreakdown",
@@ -2002,6 +2029,7 @@ __all__ = [
2002
2029
  "TransactionConfigurationMovementDataRequest",
2003
2030
  "TransactionConfigurationTypeAlias",
2004
2031
  "TransactionCurrencyAndAmount",
2032
+ "TransactionDateWindows",
2005
2033
  "TransactionDiagnostics",
2006
2034
  "TransactionFieldMap",
2007
2035
  "TransactionPrice",
@@ -2059,6 +2087,8 @@ __all__ = [
2059
2087
  "UpdateDataTypeRequest",
2060
2088
  "UpdateDerivedPropertyDefinitionRequest",
2061
2089
  "UpdateFeeTypeRequest",
2090
+ "UpdateGroupReconciliationComparisonRulesetRequest",
2091
+ "UpdateGroupReconciliationDefinitionRequest",
2062
2092
  "UpdateInstrumentIdentifierRequest",
2063
2093
  "UpdateOrdersResponse",
2064
2094
  "UpdatePlacementsResponse",
@@ -2103,6 +2133,8 @@ __all__ = [
2103
2133
  "UpsertQuotesResponse",
2104
2134
  "UpsertRecipeComposerRequest",
2105
2135
  "UpsertRecipeRequest",
2136
+ "UpsertReferencePortfolioConstituentPropertiesRequest",
2137
+ "UpsertReferencePortfolioConstituentPropertiesResponse",
2106
2138
  "UpsertReferencePortfolioConstituentsRequest",
2107
2139
  "UpsertReferencePortfolioConstituentsResponse",
2108
2140
  "UpsertResultValuesDataRequest",
@@ -23,7 +23,7 @@ from pydantic.v1 import BaseModel, Field, constr
23
23
 
24
24
  class AccessMetadataValue(BaseModel):
25
25
  """
26
- An access control value. Provider should only be used if you are a service provide licensing data. In that case the provider value must match your domain. # noqa: E501
26
+ An access control value. Provider should only be used if you are a service provider licensing data. In that case the provider value must match your domain. # noqa: E501
27
27
  """
28
28
  value: constr(strict=True, max_length=2048, min_length=0) = Field(...)
29
29
  provider: Optional[constr(strict=True, max_length=50, min_length=0)] = None
@@ -27,15 +27,15 @@ class AddressKeyList(ReferenceList):
27
27
  AddressKeyList
28
28
  """
29
29
  values: conlist(StrictStr, max_items=100, min_items=0) = Field(...)
30
- reference_list_type: StrictStr = Field(..., alias="referenceListType", description="The reference list values. The available values are: PortfolioGroupIdList, PortfolioIdList, AddressKeyList, StringList, InstrumentList, DecimalList, PropertyList")
30
+ reference_list_type: StrictStr = Field(..., alias="referenceListType", description="The reference list values. The available values are: PortfolioGroupIdList, PortfolioIdList, AddressKeyList, StringList, InstrumentList, DecimalList, PropertyList, FundIdList")
31
31
  additional_properties: Dict[str, Any] = {}
32
32
  __properties = ["referenceListType", "values"]
33
33
 
34
34
  @validator('reference_list_type')
35
35
  def reference_list_type_validate_enum(cls, value):
36
36
  """Validates the enum"""
37
- if value not in ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList'):
38
- raise ValueError("must be one of enum values ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList')")
37
+ if value not in ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList'):
38
+ raise ValueError("must be one of enum values ('PortfolioGroupIdList', 'PortfolioIdList', 'AddressKeyList', 'StringList', 'InstrumentList', 'DecimalList', 'PropertyList', 'FundIdList')")
39
39
  return value
40
40
 
41
41
  class Config:
lusid/models/amount.py ADDED
@@ -0,0 +1,69 @@
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, Optional, Union
22
+ from pydantic.v1 import BaseModel, StrictFloat, StrictInt
23
+
24
+ class Amount(BaseModel):
25
+ """
26
+ Amount
27
+ """
28
+ value: Optional[Union[StrictFloat, StrictInt]] = None
29
+ __properties = ["value"]
30
+
31
+ class Config:
32
+ """Pydantic configuration"""
33
+ allow_population_by_field_name = True
34
+ validate_assignment = True
35
+
36
+ def to_str(self) -> str:
37
+ """Returns the string representation of the model using alias"""
38
+ return pprint.pformat(self.dict(by_alias=True))
39
+
40
+ def to_json(self) -> str:
41
+ """Returns the JSON representation of the model using alias"""
42
+ return json.dumps(self.to_dict())
43
+
44
+ @classmethod
45
+ def from_json(cls, json_str: str) -> Amount:
46
+ """Create an instance of Amount from a JSON string"""
47
+ return cls.from_dict(json.loads(json_str))
48
+
49
+ def to_dict(self):
50
+ """Returns the dictionary representation of the model using alias"""
51
+ _dict = self.dict(by_alias=True,
52
+ exclude={
53
+ },
54
+ exclude_none=True)
55
+ return _dict
56
+
57
+ @classmethod
58
+ def from_dict(cls, obj: dict) -> Amount:
59
+ """Create an instance of Amount from a dict"""
60
+ if obj is None:
61
+ return None
62
+
63
+ if not isinstance(obj, dict):
64
+ return Amount.parse_obj(obj)
65
+
66
+ _obj = Amount.parse_obj({
67
+ "value": obj.get("value")
68
+ })
69
+ return _obj
@@ -18,16 +18,18 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict
22
- from pydantic.v1 import BaseModel, Field
23
- from lusid.models.metadata_key_value import MetadataKeyValue
21
+ from typing import Any, Dict, List
22
+ from pydantic.v1 import BaseModel, Field, conlist
23
+ from lusid.models.access_metadata_value import AccessMetadataValue
24
+ from lusid.models.resource_id import ResourceId
24
25
 
25
26
  class BatchUpsertPortfolioAccessMetadataRequest(BaseModel):
26
27
  """
27
28
  BatchUpsertPortfolioAccessMetadataRequest
28
29
  """
29
- portfolios_with_metadata: Dict[str, MetadataKeyValue] = Field(..., alias="portfoliosWithMetadata", description="The set of portfolios with the access control metadata")
30
- __properties = ["portfoliosWithMetadata"]
30
+ portfolio_id: ResourceId = Field(..., alias="portfolioId")
31
+ metadata: Dict[str, conlist(AccessMetadataValue)] = Field(...)
32
+ __properties = ["portfolioId", "metadata"]
31
33
 
32
34
  class Config:
33
35
  """Pydantic configuration"""
@@ -53,13 +55,18 @@ class BatchUpsertPortfolioAccessMetadataRequest(BaseModel):
53
55
  exclude={
54
56
  },
55
57
  exclude_none=True)
56
- # override the default output from pydantic by calling `to_dict()` of each value in portfolios_with_metadata (dict)
57
- _field_dict = {}
58
- if self.portfolios_with_metadata:
59
- for _key in self.portfolios_with_metadata:
60
- if self.portfolios_with_metadata[_key]:
61
- _field_dict[_key] = self.portfolios_with_metadata[_key].to_dict()
62
- _dict['portfoliosWithMetadata'] = _field_dict
58
+ # override the default output from pydantic by calling `to_dict()` of portfolio_id
59
+ if self.portfolio_id:
60
+ _dict['portfolioId'] = self.portfolio_id.to_dict()
61
+ # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
62
+ _field_dict_of_array = {}
63
+ if self.metadata:
64
+ for _key in self.metadata:
65
+ if self.metadata[_key]:
66
+ _field_dict_of_array[_key] = [
67
+ _item.to_dict() for _item in self.metadata[_key]
68
+ ]
69
+ _dict['metadata'] = _field_dict_of_array
63
70
  return _dict
64
71
 
65
72
  @classmethod
@@ -72,11 +79,14 @@ class BatchUpsertPortfolioAccessMetadataRequest(BaseModel):
72
79
  return BatchUpsertPortfolioAccessMetadataRequest.parse_obj(obj)
73
80
 
74
81
  _obj = BatchUpsertPortfolioAccessMetadataRequest.parse_obj({
75
- "portfolios_with_metadata": dict(
76
- (_k, MetadataKeyValue.from_dict(_v))
77
- for _k, _v in obj.get("portfoliosWithMetadata").items()
82
+ "portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
83
+ "metadata": dict(
84
+ (_k,
85
+ [AccessMetadataValue.from_dict(_item) for _item in _v]
86
+ if _v is not None
87
+ else None
88
+ )
89
+ for _k, _v in obj.get("metadata").items()
78
90
  )
79
- if obj.get("portfoliosWithMetadata") is not None
80
- else None
81
91
  })
82
92
  return _obj
@@ -18,16 +18,20 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict
22
- from pydantic.v1 import BaseModel, Field
23
- from lusid.models.metadata_key_value_response import MetadataKeyValueResponse
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic.v1 import BaseModel, Field, conlist
23
+ from lusid.models.batch_upsert_portfolio_access_metadata_response_item import BatchUpsertPortfolioAccessMetadataResponseItem
24
+ from lusid.models.error_detail import ErrorDetail
25
+ from lusid.models.link import Link
24
26
 
25
27
  class BatchUpsertPortfolioAccessMetadataResponse(BaseModel):
26
28
  """
27
29
  BatchUpsertPortfolioAccessMetadataResponse
28
30
  """
29
- portfolios_with_metadata: Dict[str, MetadataKeyValueResponse] = Field(..., alias="portfoliosWithMetadata", description="The set of portfolios with the access control metadata")
30
- __properties = ["portfoliosWithMetadata"]
31
+ values: Optional[Dict[str, BatchUpsertPortfolioAccessMetadataResponseItem]] = Field(None, description="The items have been successfully updated or created.")
32
+ failed: Optional[Dict[str, ErrorDetail]] = Field(None, description="The items that could not be updated or created along with a reason for their failure.")
33
+ links: Optional[conlist(Link)] = None
34
+ __properties = ["values", "failed", "links"]
31
35
 
32
36
  class Config:
33
37
  """Pydantic configuration"""
@@ -53,13 +57,42 @@ class BatchUpsertPortfolioAccessMetadataResponse(BaseModel):
53
57
  exclude={
54
58
  },
55
59
  exclude_none=True)
56
- # override the default output from pydantic by calling `to_dict()` of each value in portfolios_with_metadata (dict)
60
+ # override the default output from pydantic by calling `to_dict()` of each value in values (dict)
57
61
  _field_dict = {}
58
- if self.portfolios_with_metadata:
59
- for _key in self.portfolios_with_metadata:
60
- if self.portfolios_with_metadata[_key]:
61
- _field_dict[_key] = self.portfolios_with_metadata[_key].to_dict()
62
- _dict['portfoliosWithMetadata'] = _field_dict
62
+ if self.values:
63
+ for _key in self.values:
64
+ if self.values[_key]:
65
+ _field_dict[_key] = self.values[_key].to_dict()
66
+ _dict['values'] = _field_dict
67
+ # override the default output from pydantic by calling `to_dict()` of each value in failed (dict)
68
+ _field_dict = {}
69
+ if self.failed:
70
+ for _key in self.failed:
71
+ if self.failed[_key]:
72
+ _field_dict[_key] = self.failed[_key].to_dict()
73
+ _dict['failed'] = _field_dict
74
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
75
+ _items = []
76
+ if self.links:
77
+ for _item in self.links:
78
+ if _item:
79
+ _items.append(_item.to_dict())
80
+ _dict['links'] = _items
81
+ # set to None if values (nullable) is None
82
+ # and __fields_set__ contains the field
83
+ if self.values is None and "values" in self.__fields_set__:
84
+ _dict['values'] = None
85
+
86
+ # set to None if failed (nullable) is None
87
+ # and __fields_set__ contains the field
88
+ if self.failed is None and "failed" in self.__fields_set__:
89
+ _dict['failed'] = None
90
+
91
+ # set to None if links (nullable) is None
92
+ # and __fields_set__ contains the field
93
+ if self.links is None and "links" in self.__fields_set__:
94
+ _dict['links'] = None
95
+
63
96
  return _dict
64
97
 
65
98
  @classmethod
@@ -72,11 +105,18 @@ class BatchUpsertPortfolioAccessMetadataResponse(BaseModel):
72
105
  return BatchUpsertPortfolioAccessMetadataResponse.parse_obj(obj)
73
106
 
74
107
  _obj = BatchUpsertPortfolioAccessMetadataResponse.parse_obj({
75
- "portfolios_with_metadata": dict(
76
- (_k, MetadataKeyValueResponse.from_dict(_v))
77
- for _k, _v in obj.get("portfoliosWithMetadata").items()
108
+ "values": dict(
109
+ (_k, BatchUpsertPortfolioAccessMetadataResponseItem.from_dict(_v))
110
+ for _k, _v in obj.get("values").items()
111
+ )
112
+ if obj.get("values") is not None
113
+ else None,
114
+ "failed": dict(
115
+ (_k, ErrorDetail.from_dict(_v))
116
+ for _k, _v in obj.get("failed").items()
78
117
  )
79
- if obj.get("portfoliosWithMetadata") is not None
80
- else None
118
+ if obj.get("failed") is not None
119
+ else None,
120
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
81
121
  })
82
122
  return _obj
@@ -21,13 +21,15 @@ import json
21
21
  from typing import Any, Dict, List
22
22
  from pydantic.v1 import BaseModel, Field, conlist
23
23
  from lusid.models.access_metadata_value import AccessMetadataValue
24
+ from lusid.models.resource_id import ResourceId
24
25
 
25
- class MetadataKeyValue(BaseModel):
26
+ class BatchUpsertPortfolioAccessMetadataResponseItem(BaseModel):
26
27
  """
27
- MetadataKeyValue
28
+ BatchUpsertPortfolioAccessMetadataResponseItem
28
29
  """
30
+ portfolio_id: ResourceId = Field(..., alias="portfolioId")
29
31
  metadata: Dict[str, conlist(AccessMetadataValue)] = Field(...)
30
- __properties = ["metadata"]
32
+ __properties = ["portfolioId", "metadata"]
31
33
 
32
34
  class Config:
33
35
  """Pydantic configuration"""
@@ -43,8 +45,8 @@ class MetadataKeyValue(BaseModel):
43
45
  return json.dumps(self.to_dict())
44
46
 
45
47
  @classmethod
46
- def from_json(cls, json_str: str) -> MetadataKeyValue:
47
- """Create an instance of MetadataKeyValue from a JSON string"""
48
+ def from_json(cls, json_str: str) -> BatchUpsertPortfolioAccessMetadataResponseItem:
49
+ """Create an instance of BatchUpsertPortfolioAccessMetadataResponseItem from a JSON string"""
48
50
  return cls.from_dict(json.loads(json_str))
49
51
 
50
52
  def to_dict(self):
@@ -53,6 +55,9 @@ class MetadataKeyValue(BaseModel):
53
55
  exclude={
54
56
  },
55
57
  exclude_none=True)
58
+ # override the default output from pydantic by calling `to_dict()` of portfolio_id
59
+ if self.portfolio_id:
60
+ _dict['portfolioId'] = self.portfolio_id.to_dict()
56
61
  # override the default output from pydantic by calling `to_dict()` of each value in metadata (dict of array)
57
62
  _field_dict_of_array = {}
58
63
  if self.metadata:
@@ -65,15 +70,16 @@ class MetadataKeyValue(BaseModel):
65
70
  return _dict
66
71
 
67
72
  @classmethod
68
- def from_dict(cls, obj: dict) -> MetadataKeyValue:
69
- """Create an instance of MetadataKeyValue from a dict"""
73
+ def from_dict(cls, obj: dict) -> BatchUpsertPortfolioAccessMetadataResponseItem:
74
+ """Create an instance of BatchUpsertPortfolioAccessMetadataResponseItem from a dict"""
70
75
  if obj is None:
71
76
  return None
72
77
 
73
78
  if not isinstance(obj, dict):
74
- return MetadataKeyValue.parse_obj(obj)
79
+ return BatchUpsertPortfolioAccessMetadataResponseItem.parse_obj(obj)
75
80
 
76
- _obj = MetadataKeyValue.parse_obj({
81
+ _obj = BatchUpsertPortfolioAccessMetadataResponseItem.parse_obj({
82
+ "portfolio_id": ResourceId.from_dict(obj.get("portfolioId")) if obj.get("portfolioId") is not None else None,
77
83
  "metadata": dict(
78
84
  (_k,
79
85
  [AccessMetadataValue.from_dict(_item) for _item in _v]
@@ -18,16 +18,16 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict, List, Optional
22
- from pydantic.v1 import BaseModel, conlist
23
- from lusid.models.component_filter import ComponentFilter
21
+ from typing import Any, Dict
22
+ from pydantic.v1 import BaseModel, Field
23
+ from lusid.models.resource_id import ResourceId
24
24
 
25
- class ComponentRule(BaseModel):
25
+ class BreakCodeSource(BaseModel):
26
26
  """
27
- ComponentRule
27
+ BreakCodeSource
28
28
  """
29
- components: Optional[conlist(ComponentFilter)] = None
30
- __properties = ["components"]
29
+ data_type_id: ResourceId = Field(..., alias="dataTypeId")
30
+ __properties = ["dataTypeId"]
31
31
 
32
32
  class Config:
33
33
  """Pydantic configuration"""
@@ -43,8 +43,8 @@ class ComponentRule(BaseModel):
43
43
  return json.dumps(self.to_dict())
44
44
 
45
45
  @classmethod
46
- def from_json(cls, json_str: str) -> ComponentRule:
47
- """Create an instance of ComponentRule from a JSON string"""
46
+ def from_json(cls, json_str: str) -> BreakCodeSource:
47
+ """Create an instance of BreakCodeSource from a JSON string"""
48
48
  return cls.from_dict(json.loads(json_str))
49
49
 
50
50
  def to_dict(self):
@@ -53,25 +53,21 @@ class ComponentRule(BaseModel):
53
53
  exclude={
54
54
  },
55
55
  exclude_none=True)
56
- # override the default output from pydantic by calling `to_dict()` of each item in components (list)
57
- _items = []
58
- if self.components:
59
- for _item in self.components:
60
- if _item:
61
- _items.append(_item.to_dict())
62
- _dict['components'] = _items
56
+ # override the default output from pydantic by calling `to_dict()` of data_type_id
57
+ if self.data_type_id:
58
+ _dict['dataTypeId'] = self.data_type_id.to_dict()
63
59
  return _dict
64
60
 
65
61
  @classmethod
66
- def from_dict(cls, obj: dict) -> ComponentRule:
67
- """Create an instance of ComponentRule from a dict"""
62
+ def from_dict(cls, obj: dict) -> BreakCodeSource:
63
+ """Create an instance of BreakCodeSource from a dict"""
68
64
  if obj is None:
69
65
  return None
70
66
 
71
67
  if not isinstance(obj, dict):
72
- return ComponentRule.parse_obj(obj)
68
+ return BreakCodeSource.parse_obj(obj)
73
69
 
74
- _obj = ComponentRule.parse_obj({
75
- "components": [ComponentFilter.from_dict(_item) for _item in obj.get("components")] if obj.get("components") is not None else None
70
+ _obj = BreakCodeSource.parse_obj({
71
+ "data_type_id": ResourceId.from_dict(obj.get("dataTypeId")) if obj.get("dataTypeId") is not None else None
76
72
  })
77
73
  return _obj