lusid-sdk 2.0.50b0__py3-none-any.whl → 2.0.455__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 (323) hide show
  1. lusid/__init__.py +1099 -14
  2. lusid/api/__init__.py +67 -0
  3. lusid/api/abor_api.py +513 -179
  4. lusid/api/abor_configuration_api.py +25 -24
  5. lusid/api/allocations_api.py +12 -20
  6. lusid/api/blocks_api.py +6 -6
  7. lusid/api/calendars_api.py +16 -24
  8. lusid/api/chart_of_accounts_api.py +1745 -441
  9. lusid/api/compliance_api.py +71 -62
  10. lusid/api/configuration_recipe_api.py +1198 -56
  11. lusid/api/corporate_action_sources_api.py +8 -8
  12. lusid/api/custom_entities_api.py +6 -6
  13. lusid/api/cut_label_definitions_api.py +9 -17
  14. lusid/api/data_types_api.py +16 -32
  15. lusid/api/executions_api.py +6 -6
  16. lusid/api/funds_api.py +944 -0
  17. lusid/api/instrument_event_types_api.py +1287 -0
  18. lusid/api/instruments_api.py +12 -20
  19. lusid/api/legacy_compliance_api.py +12 -12
  20. lusid/api/legal_entities_api.py +12 -12
  21. lusid/api/order_graph_api.py +12 -12
  22. lusid/api/order_instructions_api.py +6 -6
  23. lusid/api/order_management_api.py +495 -14
  24. lusid/api/orders_api.py +16 -24
  25. lusid/api/packages_api.py +6 -6
  26. lusid/api/persons_api.py +16 -24
  27. lusid/api/placements_api.py +12 -12
  28. lusid/api/portfolio_groups_api.py +6 -6
  29. lusid/api/portfolios_api.py +23 -39
  30. lusid/api/property_definitions_api.py +205 -0
  31. lusid/api/queryable_keys_api.py +211 -0
  32. lusid/api/quotes_api.py +20 -36
  33. lusid/api/reconciliations_api.py +410 -1978
  34. lusid/api/schemas_api.py +7 -15
  35. lusid/api/scopes_api.py +151 -0
  36. lusid/api/scripted_translation_api.py +30 -28
  37. lusid/api/transaction_configuration_api.py +22 -22
  38. lusid/api/transaction_portfolios_api.py +282 -577
  39. lusid/api_client.py +5 -3
  40. lusid/configuration.py +1 -1
  41. lusid/extensions/__init__.py +10 -7
  42. lusid/extensions/api_client.py +3 -1
  43. lusid/extensions/api_client_factory.py +156 -45
  44. lusid/extensions/api_configuration.py +124 -15
  45. lusid/extensions/configuration_loaders.py +2 -4
  46. lusid/extensions/proxy_config.py +8 -5
  47. lusid/extensions/socket_keep_alive.py +14 -15
  48. lusid/extensions/tcp_keep_alive_connector.py +93 -46
  49. lusid/models/__init__.py +1012 -13
  50. lusid/models/abor.py +9 -2
  51. lusid/models/abor_configuration.py +8 -8
  52. lusid/models/abor_configuration_request.py +9 -9
  53. lusid/models/abor_request.py +1 -1
  54. lusid/models/account.py +6 -1
  55. lusid/models/accumulation_event.py +104 -0
  56. lusid/models/address_key_compliance_parameter.py +5 -12
  57. lusid/models/address_key_list_compliance_parameter.py +3 -3
  58. lusid/models/address_key_option_definition.py +3 -1
  59. lusid/models/amortisation_event.py +4 -6
  60. lusid/models/{underlying_leg.py → asset_leg.py} +15 -15
  61. lusid/models/basket.py +3 -3
  62. lusid/models/block_and_order_id_request.py +78 -0
  63. lusid/models/block_and_orders.py +83 -0
  64. lusid/models/block_and_orders_create_request.py +77 -0
  65. lusid/models/block_and_orders_request.py +134 -0
  66. lusid/models/blocked_order_request.py +130 -0
  67. lusid/models/bond.py +13 -6
  68. lusid/models/bond_coupon_event.py +97 -0
  69. lusid/models/bond_default_event.py +8 -18
  70. lusid/models/bond_principal_event.py +97 -0
  71. lusid/models/book_transactions_request.py +97 -0
  72. lusid/models/bool_compliance_parameter.py +3 -3
  73. lusid/models/bool_list_compliance_parameter.py +3 -3
  74. lusid/models/branch_step.py +101 -0
  75. lusid/models/cap_floor.py +3 -3
  76. lusid/models/cash_dividend_event.py +32 -10
  77. lusid/models/cash_election.py +91 -0
  78. lusid/models/cash_flow_event.py +5 -7
  79. lusid/models/cash_perpetual.py +3 -3
  80. lusid/models/cds_flow_conventions.py +1 -1
  81. lusid/models/cds_index.py +4 -4
  82. lusid/models/check_step.py +110 -0
  83. lusid/models/cleardown_module_details.py +95 -0
  84. lusid/models/cleardown_module_request.py +117 -0
  85. lusid/models/cleardown_module_response.py +139 -0
  86. lusid/models/cleardown_module_rule.py +94 -0
  87. lusid/models/{reconciliation_run_break.py → cleardown_module_rules_updated_response.py} +30 -36
  88. lusid/models/close_event.py +3 -3
  89. lusid/models/close_period_diary_entry_request.py +149 -0
  90. lusid/models/complete_portfolio.py +8 -1
  91. lusid/models/complex_bond.py +4 -4
  92. lusid/models/complex_market_data.py +6 -5
  93. lusid/models/compliance_parameter.py +8 -5
  94. lusid/models/compliance_parameter_type.py +3 -0
  95. lusid/models/compliance_rule_breakdown.py +16 -8
  96. lusid/models/compliance_rule_breakdown_request.py +12 -4
  97. lusid/models/compliance_rule_result_v2.py +85 -0
  98. lusid/models/compliance_step.py +99 -0
  99. lusid/models/compliance_step_type.py +42 -0
  100. lusid/models/compliance_summary_rule_result.py +12 -15
  101. lusid/models/compliance_summary_rule_result_request.py +12 -15
  102. lusid/models/compliance_template_variation.py +12 -2
  103. lusid/models/component_transaction.py +92 -0
  104. lusid/models/composite_dispersion.py +30 -5
  105. lusid/models/compounding.py +4 -4
  106. lusid/models/configuration_recipe.py +10 -19
  107. lusid/models/constant_volatility_surface.py +102 -0
  108. lusid/models/contract_for_difference.py +3 -3
  109. lusid/models/create_derived_property_definition_request.py +3 -3
  110. lusid/models/create_derived_transaction_portfolio_request.py +10 -3
  111. lusid/models/create_property_definition_request.py +12 -5
  112. lusid/models/create_trade_tickets_response.py +87 -0
  113. lusid/models/create_transaction_portfolio_request.py +16 -3
  114. lusid/models/credit_default_swap.py +4 -4
  115. lusid/models/credit_spread_curve_data.py +4 -4
  116. lusid/models/custom_entity_definition.py +8 -2
  117. lusid/models/custom_entity_type.py +8 -2
  118. lusid/models/cut_label_definition.py +7 -1
  119. lusid/models/data_type.py +7 -1
  120. lusid/models/data_type_summary.py +8 -2
  121. lusid/models/date_time_compliance_parameter.py +3 -3
  122. lusid/models/date_time_list_compliance_parameter.py +3 -3
  123. lusid/models/{upsert_reconciliation_run_request.py → day_month.py} +15 -15
  124. lusid/models/decimal_compliance_parameter.py +3 -3
  125. lusid/models/decimal_list_compliance_parameter.py +3 -3
  126. lusid/models/dialect.py +9 -3
  127. lusid/models/diary_entry.py +1 -1
  128. lusid/models/diary_entry_request.py +1 -1
  129. lusid/models/discount_factor_curve_data.py +3 -3
  130. lusid/models/dividend_option_event.py +129 -0
  131. lusid/models/dividend_reinvestment_event.py +124 -0
  132. lusid/models/election_specification.py +73 -0
  133. lusid/models/eligibility_calculation.py +71 -0
  134. lusid/models/empty_model_options.py +3 -3
  135. lusid/models/equity.py +8 -6
  136. lusid/models/equity_curve_by_prices_data.py +3 -3
  137. lusid/models/equity_model_options.py +3 -3
  138. lusid/models/equity_option.py +3 -3
  139. lusid/models/equity_swap.py +4 -4
  140. lusid/models/equity_vol_surface_data.py +3 -3
  141. lusid/models/exchange_traded_option.py +3 -3
  142. lusid/models/exercise_event.py +5 -7
  143. lusid/models/exotic_instrument.py +3 -3
  144. lusid/models/expiry_event.py +91 -0
  145. lusid/models/filter_predicate_compliance_parameter.py +91 -0
  146. lusid/models/filter_step.py +101 -0
  147. lusid/models/fixed_leg.py +3 -3
  148. lusid/models/fixed_schedule.py +4 -9
  149. lusid/models/flexible_loan.py +105 -0
  150. lusid/models/float_schedule.py +20 -12
  151. lusid/models/floating_leg.py +3 -3
  152. lusid/models/flow_convention_name.py +1 -1
  153. lusid/models/flow_conventions.py +1 -1
  154. lusid/models/forward_rate_agreement.py +3 -3
  155. lusid/models/from_recipe.py +81 -0
  156. lusid/models/fund.py +182 -0
  157. lusid/models/fund_properties.py +115 -0
  158. lusid/models/fund_request.py +165 -0
  159. lusid/models/fund_share_class.py +99 -0
  160. lusid/models/funding_leg.py +3 -3
  161. lusid/models/funding_leg_options.py +3 -3
  162. lusid/models/future.py +3 -3
  163. lusid/models/fx_conventions.py +73 -0
  164. lusid/models/fx_forward.py +8 -6
  165. lusid/models/fx_forward_curve_by_quote_reference.py +4 -4
  166. lusid/models/fx_forward_curve_data.py +3 -3
  167. lusid/models/fx_forward_model_options.py +3 -3
  168. lusid/models/fx_forward_pips_curve_data.py +3 -3
  169. lusid/models/fx_forward_settlement_event.py +136 -0
  170. lusid/models/fx_forward_tenor_curve_data.py +4 -4
  171. lusid/models/fx_forward_tenor_pips_curve_data.py +4 -4
  172. lusid/models/fx_linked_notional_schedule.py +108 -0
  173. lusid/models/fx_option.py +3 -3
  174. lusid/models/fx_rate_schedule.py +3 -3
  175. lusid/models/fx_swap.py +4 -4
  176. lusid/models/fx_vol_surface_data.py +3 -3
  177. lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +15 -15
  178. lusid/models/group_by_selector_compliance_parameter.py +91 -0
  179. lusid/models/group_by_step.py +101 -0
  180. lusid/models/group_filter_predicate_compliance_parameter.py +91 -0
  181. lusid/models/group_filter_step.py +110 -0
  182. lusid/models/group_of_market_data_key_rules.py +79 -0
  183. lusid/models/index_convention.py +1 -1
  184. lusid/models/index_model_options.py +3 -3
  185. lusid/models/inflation_index_conventions.py +2 -2
  186. lusid/models/inflation_leg.py +3 -3
  187. lusid/models/inflation_linked_bond.py +3 -3
  188. lusid/models/inflation_swap.py +4 -4
  189. lusid/models/informational_error_event.py +3 -3
  190. lusid/models/informational_event.py +4 -6
  191. lusid/models/instrument_event.py +13 -5
  192. lusid/models/instrument_event_configuration.py +74 -0
  193. lusid/models/instrument_event_holder.py +12 -3
  194. lusid/models/instrument_event_type.py +8 -0
  195. lusid/models/instrument_leg.py +3 -3
  196. lusid/models/instrument_list_compliance_parameter.py +3 -3
  197. lusid/models/instrument_payment_diary_leg.py +5 -3
  198. lusid/models/instrument_resolution_detail.py +105 -0
  199. lusid/models/instrument_type.py +2 -0
  200. lusid/models/interest_rate_swap.py +4 -4
  201. lusid/models/interest_rate_swaption.py +3 -3
  202. lusid/models/intermediate_compliance_step.py +110 -0
  203. lusid/models/ir_vol_cube_data.py +3 -3
  204. lusid/models/journal_entry_line.py +34 -3
  205. lusid/models/journal_entry_lines_query_parameters.py +1 -1
  206. lusid/models/label_value_set.py +1 -1
  207. lusid/models/leg_definition.py +16 -3
  208. lusid/models/lineage_member.py +87 -0
  209. lusid/models/lock_period_diary_entry_request.py +91 -0
  210. lusid/models/lusid_instrument.py +7 -5
  211. lusid/models/lusid_trade_ticket.py +8 -1
  212. lusid/models/market_context.py +17 -2
  213. lusid/models/market_data_type.py +1 -0
  214. lusid/models/maturity_event.py +91 -0
  215. lusid/models/model_options.py +5 -6
  216. lusid/models/model_options_type.py +0 -1
  217. lusid/models/model_selection.py +3 -3
  218. lusid/models/move_orders_to_different_blocks_request.py +77 -0
  219. lusid/models/moved_order_to_different_block_response.py +85 -0
  220. lusid/models/movement_type.py +2 -0
  221. lusid/models/multi_currency_amounts.py +71 -0
  222. lusid/models/opaque_market_data.py +3 -3
  223. lusid/models/opaque_model_options.py +3 -3
  224. lusid/models/open_event.py +3 -3
  225. lusid/models/optionality_schedule.py +3 -3
  226. lusid/models/order_graph_block.py +4 -2
  227. lusid/models/order_graph_block_order_detail.py +16 -2
  228. lusid/models/output_transaction.py +9 -2
  229. lusid/models/paged_resource_list_of_cleardown_module_response.py +113 -0
  230. lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_cleardown_module_rule.py} +11 -11
  231. lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fund.py} +11 -11
  232. lusid/models/paged_resource_list_of_property_definition.py +113 -0
  233. lusid/models/paged_resource_list_of_transaction_template.py +113 -0
  234. lusid/models/paged_resource_list_of_transaction_template_specification.py +113 -0
  235. lusid/models/participation_request.py +3 -9
  236. lusid/models/performance_returns_metric.py +1 -1
  237. lusid/models/period_diary_entries_reopened_response.py +104 -0
  238. lusid/models/place_blocks_request.py +77 -0
  239. lusid/models/portfolio.py +15 -2
  240. lusid/models/portfolio_details.py +15 -2
  241. lusid/models/portfolio_group_id_compliance_parameter.py +3 -3
  242. lusid/models/portfolio_group_id_list_compliance_parameter.py +3 -3
  243. lusid/models/portfolio_holding.py +27 -2
  244. lusid/models/portfolio_id_compliance_parameter.py +3 -3
  245. lusid/models/portfolio_id_list_compliance_parameter.py +3 -3
  246. lusid/models/posting_module_rule.py +29 -4
  247. lusid/models/pricing_model.py +2 -1
  248. lusid/models/property_definition.py +17 -4
  249. lusid/models/property_definition_search_result.py +3 -3
  250. lusid/models/property_domain.py +2 -0
  251. lusid/models/property_key_compliance_parameter.py +3 -3
  252. lusid/models/property_key_list_compliance_parameter.py +3 -3
  253. lusid/models/queryable_key.py +124 -0
  254. lusid/models/raw_vendor_event.py +5 -7
  255. lusid/models/re_open_period_diary_entry_request.py +84 -0
  256. lusid/models/recipe_block.py +87 -0
  257. lusid/models/recipe_composer.py +100 -0
  258. lusid/models/{reconciliation_break_id.py → recipe_value.py} +22 -23
  259. lusid/models/recombine_step.py +101 -0
  260. lusid/models/reference_instrument.py +3 -3
  261. lusid/models/relative_date_offset.py +71 -0
  262. lusid/models/repo.py +3 -3
  263. lusid/models/reset_event.py +4 -6
  264. lusid/models/resource_list_of_block_and_orders.py +113 -0
  265. lusid/models/resource_list_of_get_recipe_composer_response.py +113 -0
  266. lusid/models/resource_list_of_moved_order_to_different_block_response.py +113 -0
  267. lusid/models/resource_list_of_queryable_key.py +113 -0
  268. lusid/models/schedule.py +6 -5
  269. lusid/models/schedule_type.py +1 -0
  270. lusid/models/script_map_reference.py +94 -0
  271. lusid/models/security_election.py +86 -0
  272. lusid/models/side_definition.py +1 -8
  273. lusid/models/sides_definition_request.py +1 -8
  274. lusid/models/simple_cash_flow_loan.py +3 -3
  275. lusid/models/simple_instrument.py +3 -3
  276. lusid/models/step_schedule.py +3 -3
  277. lusid/models/stock_split_event.py +3 -3
  278. lusid/models/string_compliance_parameter.py +3 -3
  279. lusid/models/string_list_compliance_parameter.py +3 -3
  280. lusid/models/template_field.py +77 -0
  281. lusid/models/term_deposit.py +3 -3
  282. lusid/models/total_return_swap.py +16 -16
  283. lusid/models/transaction_configuration_movement_data.py +3 -3
  284. lusid/models/transaction_configuration_movement_data_request.py +3 -3
  285. lusid/models/transaction_currency_and_amount.py +81 -0
  286. lusid/models/transaction_field_map.py +97 -0
  287. lusid/models/transaction_price.py +3 -3
  288. lusid/models/transaction_price_and_type.py +81 -0
  289. lusid/models/transaction_price_type.py +1 -0
  290. lusid/models/transaction_property_map.py +80 -0
  291. lusid/models/transaction_template.py +100 -0
  292. lusid/models/transaction_template_request.py +79 -0
  293. lusid/models/transaction_template_specification.py +99 -0
  294. lusid/models/transaction_type_alias.py +0 -7
  295. lusid/models/transaction_type_calculation.py +1 -1
  296. lusid/models/transition_event.py +3 -3
  297. lusid/models/translation_context.py +75 -0
  298. lusid/models/translation_script.py +9 -3
  299. lusid/models/trial_balance.py +46 -11
  300. lusid/models/trial_balance_query_parameters.py +15 -6
  301. lusid/models/trigger_event.py +3 -3
  302. lusid/models/units_ratio.py +71 -0
  303. lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +8 -8
  304. lusid/models/upsert_dialect_request.py +79 -0
  305. lusid/models/upsert_instrument_event_request.py +12 -3
  306. lusid/models/upsert_quote_request.py +1 -1
  307. lusid/models/upsert_recipe_composer_request.py +73 -0
  308. lusid/models/upsert_recipe_request.py +3 -9
  309. lusid/models/upsert_translation_script_request.py +75 -0
  310. lusid/models/valuation_schedule.py +10 -3
  311. lusid/models/weighted_instrument.py +13 -2
  312. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +89 -0
  313. lusid/models/yield_curve_data.py +3 -3
  314. lusid/rest.py +1 -1
  315. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.455.dist-info}/METADATA +231 -48
  316. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.455.dist-info}/RECORD +317 -235
  317. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.455.dist-info}/WHEEL +1 -1
  318. lusid/extensions/api_client_builder.py +0 -138
  319. lusid/models/configuration_recipe_snippet.py +0 -139
  320. lusid/models/je_lines_query_parameters.py +0 -105
  321. lusid/models/look_up_pricing_model_options.py +0 -93
  322. lusid/models/reconciliation_run_id.py +0 -85
  323. lusid/models/upsert_reconciliation_break_request.py +0 -98
@@ -0,0 +1,100 @@
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 import BaseModel, Field, conlist, constr
23
+ from lusid.models.component_transaction import ComponentTransaction
24
+ from lusid.models.link import Link
25
+
26
+ class TransactionTemplate(BaseModel):
27
+ """
28
+ TransactionTemplate
29
+ """
30
+ instrument_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentType", description="A value that represents the instrument type.")
31
+ instrument_event_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventType", description="A value that represents the instrument event type.")
32
+ description: constr(strict=True, min_length=1) = Field(..., description="The description of the transaction template.")
33
+ scope: constr(strict=True, min_length=1) = Field(..., description="The scope in which the transaction template resides.")
34
+ component_transactions: conlist(ComponentTransaction) = Field(..., alias="componentTransactions", description="A set of component transactions that relate to the template to be created.")
35
+ links: Optional[conlist(Link)] = None
36
+ __properties = ["instrumentType", "instrumentEventType", "description", "scope", "componentTransactions", "links"]
37
+
38
+ class Config:
39
+ """Pydantic configuration"""
40
+ allow_population_by_field_name = True
41
+ validate_assignment = True
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.dict(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> TransactionTemplate:
53
+ """Create an instance of TransactionTemplate from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self):
57
+ """Returns the dictionary representation of the model using alias"""
58
+ _dict = self.dict(by_alias=True,
59
+ exclude={
60
+ },
61
+ exclude_none=True)
62
+ # override the default output from pydantic by calling `to_dict()` of each item in component_transactions (list)
63
+ _items = []
64
+ if self.component_transactions:
65
+ for _item in self.component_transactions:
66
+ if _item:
67
+ _items.append(_item.to_dict())
68
+ _dict['componentTransactions'] = _items
69
+ # override the default output from pydantic by calling `to_dict()` of each item in links (list)
70
+ _items = []
71
+ if self.links:
72
+ for _item in self.links:
73
+ if _item:
74
+ _items.append(_item.to_dict())
75
+ _dict['links'] = _items
76
+ # set to None if links (nullable) is None
77
+ # and __fields_set__ contains the field
78
+ if self.links is None and "links" in self.__fields_set__:
79
+ _dict['links'] = None
80
+
81
+ return _dict
82
+
83
+ @classmethod
84
+ def from_dict(cls, obj: dict) -> TransactionTemplate:
85
+ """Create an instance of TransactionTemplate from a dict"""
86
+ if obj is None:
87
+ return None
88
+
89
+ if not isinstance(obj, dict):
90
+ return TransactionTemplate.parse_obj(obj)
91
+
92
+ _obj = TransactionTemplate.parse_obj({
93
+ "instrument_type": obj.get("instrumentType"),
94
+ "instrument_event_type": obj.get("instrumentEventType"),
95
+ "description": obj.get("description"),
96
+ "scope": obj.get("scope"),
97
+ "component_transactions": [ComponentTransaction.from_dict(_item) for _item in obj.get("componentTransactions")] if obj.get("componentTransactions") is not None else None,
98
+ "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
99
+ })
100
+ return _obj
@@ -0,0 +1,79 @@
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
22
+ from pydantic import BaseModel, Field, conlist, constr
23
+ from lusid.models.component_transaction import ComponentTransaction
24
+
25
+ class TransactionTemplateRequest(BaseModel):
26
+ """
27
+ TransactionTemplateRequest
28
+ """
29
+ description: constr(strict=True, max_length=100, min_length=0) = Field(..., description="The description of the transaction template.")
30
+ component_transactions: conlist(ComponentTransaction) = Field(..., alias="componentTransactions", description="A set of component transactions that relate to the template to be created.")
31
+ __properties = ["description", "componentTransactions"]
32
+
33
+ class Config:
34
+ """Pydantic configuration"""
35
+ allow_population_by_field_name = True
36
+ validate_assignment = True
37
+
38
+ def to_str(self) -> str:
39
+ """Returns the string representation of the model using alias"""
40
+ return pprint.pformat(self.dict(by_alias=True))
41
+
42
+ def to_json(self) -> str:
43
+ """Returns the JSON representation of the model using alias"""
44
+ return json.dumps(self.to_dict())
45
+
46
+ @classmethod
47
+ def from_json(cls, json_str: str) -> TransactionTemplateRequest:
48
+ """Create an instance of TransactionTemplateRequest from a JSON string"""
49
+ return cls.from_dict(json.loads(json_str))
50
+
51
+ def to_dict(self):
52
+ """Returns the dictionary representation of the model using alias"""
53
+ _dict = self.dict(by_alias=True,
54
+ exclude={
55
+ },
56
+ exclude_none=True)
57
+ # override the default output from pydantic by calling `to_dict()` of each item in component_transactions (list)
58
+ _items = []
59
+ if self.component_transactions:
60
+ for _item in self.component_transactions:
61
+ if _item:
62
+ _items.append(_item.to_dict())
63
+ _dict['componentTransactions'] = _items
64
+ return _dict
65
+
66
+ @classmethod
67
+ def from_dict(cls, obj: dict) -> TransactionTemplateRequest:
68
+ """Create an instance of TransactionTemplateRequest from a dict"""
69
+ if obj is None:
70
+ return None
71
+
72
+ if not isinstance(obj, dict):
73
+ return TransactionTemplateRequest.parse_obj(obj)
74
+
75
+ _obj = TransactionTemplateRequest.parse_obj({
76
+ "description": obj.get("description"),
77
+ "component_transactions": [ComponentTransaction.from_dict(_item) for _item in obj.get("componentTransactions")] if obj.get("componentTransactions") is not None else None
78
+ })
79
+ return _obj
@@ -0,0 +1,99 @@
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
22
+ from pydantic import BaseModel, Field, StrictStr, conlist, constr
23
+ from lusid.models.election_specification import ElectionSpecification
24
+ from lusid.models.eligibility_calculation import EligibilityCalculation
25
+ from lusid.models.template_field import TemplateField
26
+
27
+ class TransactionTemplateSpecification(BaseModel):
28
+ """
29
+ TransactionTemplateSpecification
30
+ """
31
+ instrument_event_type: constr(strict=True, min_length=1) = Field(..., alias="instrumentEventType")
32
+ supported_instrument_types: conlist(StrictStr) = Field(..., alias="supportedInstrumentTypes")
33
+ supported_participation_types: conlist(StrictStr) = Field(..., alias="supportedParticipationTypes")
34
+ supported_election_types: conlist(ElectionSpecification) = Field(..., alias="supportedElectionTypes")
35
+ supported_template_fields: conlist(TemplateField) = Field(..., alias="supportedTemplateFields")
36
+ eligibility_calculation: EligibilityCalculation = Field(..., alias="eligibilityCalculation")
37
+ __properties = ["instrumentEventType", "supportedInstrumentTypes", "supportedParticipationTypes", "supportedElectionTypes", "supportedTemplateFields", "eligibilityCalculation"]
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) -> TransactionTemplateSpecification:
54
+ """Create an instance of TransactionTemplateSpecification 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 item in supported_election_types (list)
64
+ _items = []
65
+ if self.supported_election_types:
66
+ for _item in self.supported_election_types:
67
+ if _item:
68
+ _items.append(_item.to_dict())
69
+ _dict['supportedElectionTypes'] = _items
70
+ # override the default output from pydantic by calling `to_dict()` of each item in supported_template_fields (list)
71
+ _items = []
72
+ if self.supported_template_fields:
73
+ for _item in self.supported_template_fields:
74
+ if _item:
75
+ _items.append(_item.to_dict())
76
+ _dict['supportedTemplateFields'] = _items
77
+ # override the default output from pydantic by calling `to_dict()` of eligibility_calculation
78
+ if self.eligibility_calculation:
79
+ _dict['eligibilityCalculation'] = self.eligibility_calculation.to_dict()
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: dict) -> TransactionTemplateSpecification:
84
+ """Create an instance of TransactionTemplateSpecification from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return TransactionTemplateSpecification.parse_obj(obj)
90
+
91
+ _obj = TransactionTemplateSpecification.parse_obj({
92
+ "instrument_event_type": obj.get("instrumentEventType"),
93
+ "supported_instrument_types": obj.get("supportedInstrumentTypes"),
94
+ "supported_participation_types": obj.get("supportedParticipationTypes"),
95
+ "supported_election_types": [ElectionSpecification.from_dict(_item) for _item in obj.get("supportedElectionTypes")] if obj.get("supportedElectionTypes") is not None else None,
96
+ "supported_template_fields": [TemplateField.from_dict(_item) for _item in obj.get("supportedTemplateFields")] if obj.get("supportedTemplateFields") is not None else None,
97
+ "eligibility_calculation": EligibilityCalculation.from_dict(obj.get("eligibilityCalculation")) if obj.get("eligibilityCalculation") is not None else None
98
+ })
99
+ return _obj
@@ -32,13 +32,6 @@ class TransactionTypeAlias(BaseModel):
32
32
  is_default: Optional[StrictBool] = Field(None, alias="isDefault", description="IsDefault is a flag that denotes the default alias for a source. There can only be, at most, one per source.")
33
33
  __properties = ["type", "description", "transactionClass", "transactionRoles", "isDefault"]
34
34
 
35
- @validator('type')
36
- def type_validate_regular_expression(cls, value):
37
- """Validates the regular expression"""
38
- if not re.match(r"^[a-zA-Z0-9\-_]+$", value):
39
- raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9\-_]+$/")
40
- return value
41
-
42
35
  @validator('description')
43
36
  def description_validate_regular_expression(cls, value):
44
37
  """Validates the regular expression"""
@@ -26,7 +26,7 @@ class TransactionTypeCalculation(BaseModel):
26
26
  TransactionTypeCalculation
27
27
  """
28
28
  type: constr(strict=True, min_length=1) = Field(..., description="The type of calculation to perform")
29
- side: constr(strict=True, max_length=64, min_length=1) = Field(..., description="The Side determines which of the fields from our transaction are used to generate the Movement. Side1 means the 'security' side of the transaction, ie the Instrument and Units; Side2 means the 'cash' side, ie the Total Consideration")
29
+ side: constr(strict=True, max_length=64, min_length=1) = Field(..., description="The side to which the calculation is applied")
30
30
  __properties = ["type", "side"]
31
31
 
32
32
  @validator('side')
@@ -34,15 +34,15 @@ class TransitionEvent(InstrumentEvent):
34
34
  payment_date: Optional[datetime] = Field(None, alias="paymentDate", description="The payment date of the corporate action")
35
35
  input_transition: Optional[InputTransition] = Field(None, alias="inputTransition")
36
36
  output_transitions: Optional[conlist(OutputTransition)] = Field(None, alias="outputTransitions", description="The resulting transitions from this event")
37
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent")
37
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent")
38
38
  additional_properties: Dict[str, Any] = {}
39
39
  __properties = ["instrumentEventType", "announcementDate", "exDate", "recordDate", "paymentDate", "inputTransition", "outputTransitions"]
40
40
 
41
41
  @validator('instrument_event_type')
42
42
  def instrument_event_type_validate_enum(cls, value):
43
43
  """Validates the enum"""
44
- if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent'):
45
- raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent')")
44
+ if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent'):
45
+ raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent')")
46
46
  return value
47
47
 
48
48
  class Config:
@@ -0,0 +1,75 @@
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
22
+ from pydantic import BaseModel, Field, StrictBool
23
+ from lusid.models.script_map_reference import ScriptMapReference
24
+
25
+ class TranslationContext(BaseModel):
26
+ """
27
+ Options for overriding default scripted translation configuration. # noqa: E501
28
+ """
29
+ disable_scripted_translation: Optional[StrictBool] = Field(None, alias="disableScriptedTranslation")
30
+ script_map: Optional[ScriptMapReference] = Field(None, alias="scriptMap")
31
+ __properties = ["disableScriptedTranslation", "scriptMap"]
32
+
33
+ class Config:
34
+ """Pydantic configuration"""
35
+ allow_population_by_field_name = True
36
+ validate_assignment = True
37
+
38
+ def to_str(self) -> str:
39
+ """Returns the string representation of the model using alias"""
40
+ return pprint.pformat(self.dict(by_alias=True))
41
+
42
+ def to_json(self) -> str:
43
+ """Returns the JSON representation of the model using alias"""
44
+ return json.dumps(self.to_dict())
45
+
46
+ @classmethod
47
+ def from_json(cls, json_str: str) -> TranslationContext:
48
+ """Create an instance of TranslationContext from a JSON string"""
49
+ return cls.from_dict(json.loads(json_str))
50
+
51
+ def to_dict(self):
52
+ """Returns the dictionary representation of the model using alias"""
53
+ _dict = self.dict(by_alias=True,
54
+ exclude={
55
+ },
56
+ exclude_none=True)
57
+ # override the default output from pydantic by calling `to_dict()` of script_map
58
+ if self.script_map:
59
+ _dict['scriptMap'] = self.script_map.to_dict()
60
+ return _dict
61
+
62
+ @classmethod
63
+ def from_dict(cls, obj: dict) -> TranslationContext:
64
+ """Create an instance of TranslationContext from a dict"""
65
+ if obj is None:
66
+ return None
67
+
68
+ if not isinstance(obj, dict):
69
+ return TranslationContext.parse_obj(obj)
70
+
71
+ _obj = TranslationContext.parse_obj({
72
+ "disable_scripted_translation": obj.get("disableScriptedTranslation"),
73
+ "script_map": ScriptMapReference.from_dict(obj.get("scriptMap")) if obj.get("scriptMap") is not None else None
74
+ })
75
+ return _obj
@@ -18,9 +18,10 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict
21
+ from typing import Any, Dict, Optional
22
22
  from pydantic import BaseModel, Field, constr
23
23
  from lusid.models.translation_script_id import TranslationScriptId
24
+ from lusid.models.version import Version
24
25
 
25
26
  class TranslationScript(BaseModel):
26
27
  """
@@ -28,7 +29,8 @@ class TranslationScript(BaseModel):
28
29
  """
29
30
  id: TranslationScriptId = Field(...)
30
31
  body: constr(strict=True, max_length=500000, min_length=0) = Field(..., description="Body of the translation script, i.e. the actual translation code.")
31
- __properties = ["id", "body"]
32
+ version: Optional[Version] = None
33
+ __properties = ["id", "body", "version"]
32
34
 
33
35
  class Config:
34
36
  """Pydantic configuration"""
@@ -57,6 +59,9 @@ class TranslationScript(BaseModel):
57
59
  # override the default output from pydantic by calling `to_dict()` of id
58
60
  if self.id:
59
61
  _dict['id'] = self.id.to_dict()
62
+ # override the default output from pydantic by calling `to_dict()` of version
63
+ if self.version:
64
+ _dict['version'] = self.version.to_dict()
60
65
  return _dict
61
66
 
62
67
  @classmethod
@@ -70,6 +75,7 @@ class TranslationScript(BaseModel):
70
75
 
71
76
  _obj = TranslationScript.parse_obj({
72
77
  "id": TranslationScriptId.from_dict(obj.get("id")) if obj.get("id") is not None else None,
73
- "body": obj.get("body")
78
+ "body": obj.get("body"),
79
+ "version": Version.from_dict(obj.get("version")) if obj.get("version") is not None else None
74
80
  })
75
81
  return _obj
@@ -18,9 +18,11 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict, List, Optional, Union
22
- from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr, conlist, constr
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic import BaseModel, Field, StrictStr, conlist, constr
23
23
  from lusid.models.link import Link
24
+ from lusid.models.model_property import ModelProperty
25
+ from lusid.models.multi_currency_amounts import MultiCurrencyAmounts
24
26
 
25
27
  class TrialBalance(BaseModel):
26
28
  """
@@ -30,12 +32,14 @@ class TrialBalance(BaseModel):
30
32
  description: Optional[StrictStr] = Field(None, description="The description of the record")
31
33
  levels: conlist(StrictStr) = Field(..., description="The levels that have been derived from the specified General Ledger Profile")
32
34
  account_type: constr(strict=True, min_length=1) = Field(..., alias="accountType", description="The account type attributed to the record")
33
- opening: Union[StrictFloat, StrictInt] = Field(..., description="The opening balance at the start of the period")
34
- closing: Union[StrictFloat, StrictInt] = Field(..., description="The closing balance at the end of the period")
35
- debit: Union[StrictFloat, StrictInt] = Field(..., description="All debits that occured in the period")
36
- credit: Union[StrictFloat, StrictInt] = Field(..., description="All credits that occured in the period")
35
+ local_currency: constr(strict=True, min_length=1) = Field(..., alias="localCurrency", description="The account type attributed to the record")
36
+ opening: MultiCurrencyAmounts = Field(...)
37
+ closing: MultiCurrencyAmounts = Field(...)
38
+ debit: MultiCurrencyAmounts = Field(...)
39
+ credit: MultiCurrencyAmounts = Field(...)
40
+ properties: Optional[Dict[str, ModelProperty]] = Field(None, description="Properties found on the mapped 'Account', as specified in request")
37
41
  links: Optional[conlist(Link)] = None
38
- __properties = ["generalLedgerAccountCode", "description", "levels", "accountType", "opening", "closing", "debit", "credit", "links"]
42
+ __properties = ["generalLedgerAccountCode", "description", "levels", "accountType", "localCurrency", "opening", "closing", "debit", "credit", "properties", "links"]
39
43
 
40
44
  class Config:
41
45
  """Pydantic configuration"""
@@ -61,6 +65,25 @@ class TrialBalance(BaseModel):
61
65
  exclude={
62
66
  },
63
67
  exclude_none=True)
68
+ # override the default output from pydantic by calling `to_dict()` of opening
69
+ if self.opening:
70
+ _dict['opening'] = self.opening.to_dict()
71
+ # override the default output from pydantic by calling `to_dict()` of closing
72
+ if self.closing:
73
+ _dict['closing'] = self.closing.to_dict()
74
+ # override the default output from pydantic by calling `to_dict()` of debit
75
+ if self.debit:
76
+ _dict['debit'] = self.debit.to_dict()
77
+ # override the default output from pydantic by calling `to_dict()` of credit
78
+ if self.credit:
79
+ _dict['credit'] = self.credit.to_dict()
80
+ # override the default output from pydantic by calling `to_dict()` of each value in properties (dict)
81
+ _field_dict = {}
82
+ if self.properties:
83
+ for _key in self.properties:
84
+ if self.properties[_key]:
85
+ _field_dict[_key] = self.properties[_key].to_dict()
86
+ _dict['properties'] = _field_dict
64
87
  # override the default output from pydantic by calling `to_dict()` of each item in links (list)
65
88
  _items = []
66
89
  if self.links:
@@ -73,6 +96,11 @@ class TrialBalance(BaseModel):
73
96
  if self.description is None and "description" in self.__fields_set__:
74
97
  _dict['description'] = None
75
98
 
99
+ # set to None if properties (nullable) is None
100
+ # and __fields_set__ contains the field
101
+ if self.properties is None and "properties" in self.__fields_set__:
102
+ _dict['properties'] = None
103
+
76
104
  # set to None if links (nullable) is None
77
105
  # and __fields_set__ contains the field
78
106
  if self.links is None and "links" in self.__fields_set__:
@@ -94,10 +122,17 @@ class TrialBalance(BaseModel):
94
122
  "description": obj.get("description"),
95
123
  "levels": obj.get("levels"),
96
124
  "account_type": obj.get("accountType"),
97
- "opening": obj.get("opening"),
98
- "closing": obj.get("closing"),
99
- "debit": obj.get("debit"),
100
- "credit": obj.get("credit"),
125
+ "local_currency": obj.get("localCurrency"),
126
+ "opening": MultiCurrencyAmounts.from_dict(obj.get("opening")) if obj.get("opening") is not None else None,
127
+ "closing": MultiCurrencyAmounts.from_dict(obj.get("closing")) if obj.get("closing") is not None else None,
128
+ "debit": MultiCurrencyAmounts.from_dict(obj.get("debit")) if obj.get("debit") is not None else None,
129
+ "credit": MultiCurrencyAmounts.from_dict(obj.get("credit")) if obj.get("credit") is not None else None,
130
+ "properties": dict(
131
+ (_k, ModelProperty.from_dict(_v))
132
+ for _k, _v in obj.get("properties").items()
133
+ )
134
+ if obj.get("properties") is not None
135
+ else None,
101
136
  "links": [Link.from_dict(_item) for _item in obj.get("links")] if obj.get("links") is not None else None
102
137
  })
103
138
  return _obj
@@ -18,8 +18,8 @@ import re # noqa: F401
18
18
  import json
19
19
 
20
20
 
21
- from typing import Any, Dict, Optional
22
- from pydantic import BaseModel, Field, StrictStr, constr, validator
21
+ from typing import Any, Dict, List, Optional
22
+ from pydantic import BaseModel, Field, StrictBool, StrictStr, conlist, constr, validator
23
23
  from lusid.models.date_or_diary_entry import DateOrDiaryEntry
24
24
 
25
25
  class TrialBalanceQueryParameters(BaseModel):
@@ -28,9 +28,11 @@ class TrialBalanceQueryParameters(BaseModel):
28
28
  """
29
29
  start: Optional[DateOrDiaryEntry] = None
30
30
  end: Optional[DateOrDiaryEntry] = None
31
- date_mode: Optional[StrictStr] = Field(None, alias="dateMode", description="The mode of calculation of the journal entry lines.")
32
- general_ledger_profile_code: Optional[constr(strict=True, max_length=64, min_length=1)] = Field(None, alias="generalLedgerProfileCode", description="The optional code of a general ledger profile used to decorate journal entry lines with levels.")
33
- __properties = ["start", "end", "dateMode", "generalLedgerProfileCode"]
31
+ date_mode: Optional[StrictStr] = Field(None, alias="dateMode", description="The mode of calculation of the trial balance. The available values are: ActivityDate.")
32
+ general_ledger_profile_code: Optional[constr(strict=True, max_length=64, min_length=1)] = Field(None, alias="generalLedgerProfileCode", description="The optional code of a general ledger profile used to decorate trial balance with levels.")
33
+ property_keys: Optional[conlist(StrictStr)] = Field(None, alias="propertyKeys", description="A list of property keys from the 'Instrument', 'Transaction', 'Portfolio', 'Account', 'LegalEntity' or 'CustodianAccount' domain to decorate onto the trial balance.")
34
+ exclude_cleardown_module: Optional[StrictBool] = Field(None, alias="excludeCleardownModule", description="By deafult this flag is set to false, if this is set to true, no cleardown module will be applied to the trial balance.")
35
+ __properties = ["start", "end", "dateMode", "generalLedgerProfileCode", "propertyKeys", "excludeCleardownModule"]
34
36
 
35
37
  @validator('general_ledger_profile_code')
36
38
  def general_ledger_profile_code_validate_regular_expression(cls, value):
@@ -82,6 +84,11 @@ class TrialBalanceQueryParameters(BaseModel):
82
84
  if self.general_ledger_profile_code is None and "general_ledger_profile_code" in self.__fields_set__:
83
85
  _dict['generalLedgerProfileCode'] = None
84
86
 
87
+ # set to None if property_keys (nullable) is None
88
+ # and __fields_set__ contains the field
89
+ if self.property_keys is None and "property_keys" in self.__fields_set__:
90
+ _dict['propertyKeys'] = None
91
+
85
92
  return _dict
86
93
 
87
94
  @classmethod
@@ -97,6 +104,8 @@ class TrialBalanceQueryParameters(BaseModel):
97
104
  "start": DateOrDiaryEntry.from_dict(obj.get("start")) if obj.get("start") is not None else None,
98
105
  "end": DateOrDiaryEntry.from_dict(obj.get("end")) if obj.get("end") is not None else None,
99
106
  "date_mode": obj.get("dateMode"),
100
- "general_ledger_profile_code": obj.get("generalLedgerProfileCode")
107
+ "general_ledger_profile_code": obj.get("generalLedgerProfileCode"),
108
+ "property_keys": obj.get("propertyKeys"),
109
+ "exclude_cleardown_module": obj.get("excludeCleardownModule")
101
110
  })
102
111
  return _obj
@@ -31,15 +31,15 @@ class TriggerEvent(InstrumentEvent):
31
31
  trigger_direction: constr(strict=True, min_length=1) = Field(..., alias="triggerDirection", description="The direction of the trigger; valid options are Up and Down")
32
32
  trigger_date: datetime = Field(..., alias="triggerDate", description="The date the trigger happens at.")
33
33
  maturity_date: datetime = Field(..., alias="maturityDate", description="The date the trigger takes effect.")
34
- instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent")
34
+ instrument_event_type: StrictStr = Field(..., alias="instrumentEventType", description="The Type of Event. The available values are: TransitionEvent, InformationalEvent, OpenEvent, CloseEvent, StockSplitEvent, BondDefaultEvent, CashDividendEvent, AmortisationEvent, CashFlowEvent, ExerciseEvent, ResetEvent, TriggerEvent, RawVendorEvent, InformationalErrorEvent, BondCouponEvent, DividendReinvestmentEvent, AccumulationEvent, BondPrincipalEvent, DividendOptionEvent, MaturityEvent, FxForwardSettlementEvent, ExpiryEvent")
35
35
  additional_properties: Dict[str, Any] = {}
36
36
  __properties = ["instrumentEventType", "level", "triggerType", "triggerDirection", "triggerDate", "maturityDate"]
37
37
 
38
38
  @validator('instrument_event_type')
39
39
  def instrument_event_type_validate_enum(cls, value):
40
40
  """Validates the enum"""
41
- if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent'):
42
- raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent')")
41
+ if value not in ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent'):
42
+ raise ValueError("must be one of enum values ('TransitionEvent', 'InformationalEvent', 'OpenEvent', 'CloseEvent', 'StockSplitEvent', 'BondDefaultEvent', 'CashDividendEvent', 'AmortisationEvent', 'CashFlowEvent', 'ExerciseEvent', 'ResetEvent', 'TriggerEvent', 'RawVendorEvent', 'InformationalErrorEvent', 'BondCouponEvent', 'DividendReinvestmentEvent', 'AccumulationEvent', 'BondPrincipalEvent', 'DividendOptionEvent', 'MaturityEvent', 'FxForwardSettlementEvent', 'ExpiryEvent')")
43
43
  return value
44
44
 
45
45
  class Config: