lusid-sdk 2.0.50b0__py3-none-any.whl → 2.0.470__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 (332) hide show
  1. lusid/__init__.py +1117 -14
  2. lusid/api/__init__.py +69 -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 +1119 -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/staging_rule_set_api.py +885 -0
  38. lusid/api/transaction_configuration_api.py +22 -22
  39. lusid/api/transaction_portfolios_api.py +282 -577
  40. lusid/api_client.py +5 -3
  41. lusid/configuration.py +1 -1
  42. lusid/extensions/__init__.py +10 -7
  43. lusid/extensions/api_client.py +3 -1
  44. lusid/extensions/api_client_factory.py +156 -45
  45. lusid/extensions/api_configuration.py +124 -15
  46. lusid/extensions/configuration_loaders.py +2 -4
  47. lusid/extensions/proxy_config.py +8 -5
  48. lusid/extensions/socket_keep_alive.py +14 -15
  49. lusid/extensions/tcp_keep_alive_connector.py +93 -46
  50. lusid/models/__init__.py +1028 -13
  51. lusid/models/abor.py +9 -2
  52. lusid/models/abor_configuration.py +8 -8
  53. lusid/models/abor_configuration_request.py +9 -9
  54. lusid/models/abor_request.py +1 -1
  55. lusid/models/account.py +6 -1
  56. lusid/models/accumulation_event.py +104 -0
  57. lusid/models/address_key_compliance_parameter.py +5 -12
  58. lusid/models/address_key_list_compliance_parameter.py +3 -3
  59. lusid/models/address_key_option_definition.py +3 -1
  60. lusid/models/amortisation_event.py +4 -6
  61. lusid/models/{underlying_leg.py → asset_leg.py} +15 -15
  62. lusid/models/basket.py +3 -3
  63. lusid/models/block_and_order_id_request.py +78 -0
  64. lusid/models/block_and_orders.py +83 -0
  65. lusid/models/block_and_orders_create_request.py +77 -0
  66. lusid/models/block_and_orders_request.py +134 -0
  67. lusid/models/blocked_order_request.py +130 -0
  68. lusid/models/bond.py +13 -6
  69. lusid/models/bond_coupon_event.py +97 -0
  70. lusid/models/bond_default_event.py +8 -18
  71. lusid/models/bond_principal_event.py +97 -0
  72. lusid/models/book_transactions_request.py +97 -0
  73. lusid/models/bool_compliance_parameter.py +3 -3
  74. lusid/models/bool_list_compliance_parameter.py +3 -3
  75. lusid/models/branch_step.py +101 -0
  76. lusid/models/cap_floor.py +3 -3
  77. lusid/models/cash_dividend_event.py +32 -10
  78. lusid/models/cash_election.py +91 -0
  79. lusid/models/cash_flow_event.py +5 -7
  80. lusid/models/cash_perpetual.py +3 -3
  81. lusid/models/cds_flow_conventions.py +1 -1
  82. lusid/models/cds_index.py +4 -4
  83. lusid/models/check_step.py +110 -0
  84. lusid/models/cleardown_module_details.py +95 -0
  85. lusid/models/cleardown_module_request.py +117 -0
  86. lusid/models/cleardown_module_response.py +139 -0
  87. lusid/models/cleardown_module_rule.py +94 -0
  88. lusid/models/{reconciliation_run_break.py → cleardown_module_rules_updated_response.py} +30 -36
  89. lusid/models/close_event.py +3 -3
  90. lusid/models/close_period_diary_entry_request.py +149 -0
  91. lusid/models/complete_portfolio.py +8 -1
  92. lusid/models/complex_bond.py +4 -4
  93. lusid/models/complex_market_data.py +6 -5
  94. lusid/models/compliance_parameter.py +8 -5
  95. lusid/models/compliance_parameter_type.py +3 -0
  96. lusid/models/compliance_rule_breakdown.py +16 -8
  97. lusid/models/compliance_rule_breakdown_request.py +12 -4
  98. lusid/models/compliance_rule_result_v2.py +85 -0
  99. lusid/models/compliance_step.py +99 -0
  100. lusid/models/compliance_step_type.py +42 -0
  101. lusid/models/compliance_summary_rule_result.py +12 -15
  102. lusid/models/compliance_summary_rule_result_request.py +12 -15
  103. lusid/models/compliance_template_variation.py +12 -2
  104. lusid/models/component_transaction.py +92 -0
  105. lusid/models/composite_dispersion.py +30 -5
  106. lusid/models/compounding.py +4 -4
  107. lusid/models/configuration_recipe.py +10 -19
  108. lusid/models/constant_volatility_surface.py +102 -0
  109. lusid/models/contract_for_difference.py +3 -3
  110. lusid/models/create_derived_property_definition_request.py +3 -3
  111. lusid/models/create_derived_transaction_portfolio_request.py +10 -3
  112. lusid/models/create_property_definition_request.py +12 -5
  113. lusid/models/create_staging_rule_set_request.py +91 -0
  114. lusid/models/create_trade_tickets_response.py +87 -0
  115. lusid/models/create_transaction_portfolio_request.py +16 -3
  116. lusid/models/credit_default_swap.py +4 -4
  117. lusid/models/credit_spread_curve_data.py +4 -4
  118. lusid/models/custom_entity_definition.py +8 -2
  119. lusid/models/custom_entity_type.py +8 -2
  120. lusid/models/cut_label_definition.py +7 -1
  121. lusid/models/data_type.py +7 -1
  122. lusid/models/data_type_summary.py +8 -2
  123. lusid/models/date_time_compliance_parameter.py +3 -3
  124. lusid/models/date_time_list_compliance_parameter.py +3 -3
  125. lusid/models/{upsert_reconciliation_run_request.py → day_month.py} +15 -15
  126. lusid/models/decimal_compliance_parameter.py +3 -3
  127. lusid/models/decimal_list_compliance_parameter.py +3 -3
  128. lusid/models/dialect.py +9 -3
  129. lusid/models/diary_entry.py +1 -1
  130. lusid/models/diary_entry_request.py +1 -1
  131. lusid/models/discount_factor_curve_data.py +3 -3
  132. lusid/models/dividend_option_event.py +129 -0
  133. lusid/models/dividend_reinvestment_event.py +124 -0
  134. lusid/models/election_specification.py +73 -0
  135. lusid/models/eligibility_calculation.py +71 -0
  136. lusid/models/empty_model_options.py +3 -3
  137. lusid/models/equity.py +8 -6
  138. lusid/models/equity_curve_by_prices_data.py +3 -3
  139. lusid/models/equity_model_options.py +3 -3
  140. lusid/models/equity_option.py +3 -3
  141. lusid/models/equity_swap.py +4 -4
  142. lusid/models/equity_vol_surface_data.py +3 -3
  143. lusid/models/exchange_traded_option.py +3 -3
  144. lusid/models/exercise_event.py +5 -7
  145. lusid/models/exotic_instrument.py +3 -3
  146. lusid/models/expiry_event.py +91 -0
  147. lusid/models/filter_predicate_compliance_parameter.py +91 -0
  148. lusid/models/filter_step.py +101 -0
  149. lusid/models/fixed_leg.py +3 -3
  150. lusid/models/fixed_schedule.py +4 -9
  151. lusid/models/flexible_loan.py +105 -0
  152. lusid/models/float_schedule.py +20 -12
  153. lusid/models/floating_leg.py +3 -3
  154. lusid/models/flow_convention_name.py +1 -1
  155. lusid/models/flow_conventions.py +1 -1
  156. lusid/models/forward_rate_agreement.py +3 -3
  157. lusid/models/from_recipe.py +81 -0
  158. lusid/models/fund.py +182 -0
  159. lusid/models/fund_properties.py +115 -0
  160. lusid/models/fund_request.py +165 -0
  161. lusid/models/fund_share_class.py +99 -0
  162. lusid/models/funding_leg.py +3 -3
  163. lusid/models/funding_leg_options.py +3 -3
  164. lusid/models/future.py +3 -3
  165. lusid/models/fx_conventions.py +73 -0
  166. lusid/models/fx_forward.py +8 -6
  167. lusid/models/fx_forward_curve_by_quote_reference.py +4 -4
  168. lusid/models/fx_forward_curve_data.py +3 -3
  169. lusid/models/fx_forward_model_options.py +3 -3
  170. lusid/models/fx_forward_pips_curve_data.py +3 -3
  171. lusid/models/fx_forward_settlement_event.py +136 -0
  172. lusid/models/fx_forward_tenor_curve_data.py +4 -4
  173. lusid/models/fx_forward_tenor_pips_curve_data.py +4 -4
  174. lusid/models/fx_linked_notional_schedule.py +108 -0
  175. lusid/models/fx_option.py +3 -3
  176. lusid/models/fx_rate_schedule.py +3 -3
  177. lusid/models/fx_swap.py +4 -4
  178. lusid/models/fx_vol_surface_data.py +3 -3
  179. lusid/models/{reconciliation_run.py → get_recipe_composer_response.py} +15 -15
  180. lusid/models/group_by_selector_compliance_parameter.py +91 -0
  181. lusid/models/group_by_step.py +101 -0
  182. lusid/models/group_filter_predicate_compliance_parameter.py +91 -0
  183. lusid/models/group_filter_step.py +110 -0
  184. lusid/models/group_of_market_data_key_rules.py +79 -0
  185. lusid/models/index_convention.py +1 -1
  186. lusid/models/index_model_options.py +3 -3
  187. lusid/models/inflation_index_conventions.py +2 -2
  188. lusid/models/inflation_leg.py +3 -3
  189. lusid/models/inflation_linked_bond.py +3 -3
  190. lusid/models/inflation_swap.py +4 -4
  191. lusid/models/informational_error_event.py +3 -3
  192. lusid/models/informational_event.py +4 -6
  193. lusid/models/instrument_event.py +13 -5
  194. lusid/models/instrument_event_configuration.py +74 -0
  195. lusid/models/instrument_event_holder.py +12 -3
  196. lusid/models/instrument_event_type.py +8 -0
  197. lusid/models/instrument_leg.py +3 -3
  198. lusid/models/instrument_list_compliance_parameter.py +3 -3
  199. lusid/models/instrument_payment_diary_leg.py +5 -3
  200. lusid/models/instrument_resolution_detail.py +105 -0
  201. lusid/models/instrument_type.py +2 -0
  202. lusid/models/interest_rate_swap.py +4 -4
  203. lusid/models/interest_rate_swaption.py +3 -3
  204. lusid/models/intermediate_compliance_step.py +110 -0
  205. lusid/models/ir_vol_cube_data.py +3 -3
  206. lusid/models/journal_entry_line.py +34 -3
  207. lusid/models/journal_entry_lines_query_parameters.py +1 -1
  208. lusid/models/label_value_set.py +1 -1
  209. lusid/models/leg_definition.py +16 -3
  210. lusid/models/lineage_member.py +87 -0
  211. lusid/models/lock_period_diary_entry_request.py +91 -0
  212. lusid/models/lusid_instrument.py +7 -5
  213. lusid/models/lusid_trade_ticket.py +8 -1
  214. lusid/models/market_context.py +17 -2
  215. lusid/models/market_data_type.py +1 -0
  216. lusid/models/maturity_event.py +91 -0
  217. lusid/models/model_options.py +5 -6
  218. lusid/models/model_options_type.py +0 -1
  219. lusid/models/model_selection.py +3 -3
  220. lusid/models/move_orders_to_different_blocks_request.py +77 -0
  221. lusid/models/moved_order_to_different_block_response.py +85 -0
  222. lusid/models/movement_type.py +2 -0
  223. lusid/models/multi_currency_amounts.py +71 -0
  224. lusid/models/opaque_market_data.py +3 -3
  225. lusid/models/opaque_model_options.py +3 -3
  226. lusid/models/open_event.py +3 -3
  227. lusid/models/optionality_schedule.py +3 -3
  228. lusid/models/order_graph_block.py +4 -2
  229. lusid/models/order_graph_block_order_detail.py +16 -2
  230. lusid/models/output_transaction.py +9 -2
  231. lusid/models/paged_resource_list_of_cleardown_module_response.py +113 -0
  232. lusid/models/{paged_resource_list_of_reconciliation_run_break.py → paged_resource_list_of_cleardown_module_rule.py} +11 -11
  233. lusid/models/{paged_resource_list_of_reconciliation_run.py → paged_resource_list_of_fund.py} +11 -11
  234. lusid/models/paged_resource_list_of_property_definition.py +113 -0
  235. lusid/models/paged_resource_list_of_staging_rule_set.py +113 -0
  236. lusid/models/paged_resource_list_of_transaction_template.py +113 -0
  237. lusid/models/paged_resource_list_of_transaction_template_specification.py +113 -0
  238. lusid/models/participation_request.py +3 -9
  239. lusid/models/performance_returns_metric.py +1 -1
  240. lusid/models/period_diary_entries_reopened_response.py +104 -0
  241. lusid/models/place_blocks_request.py +77 -0
  242. lusid/models/portfolio.py +15 -2
  243. lusid/models/portfolio_details.py +15 -2
  244. lusid/models/portfolio_group_id_compliance_parameter.py +3 -3
  245. lusid/models/portfolio_group_id_list_compliance_parameter.py +3 -3
  246. lusid/models/portfolio_holding.py +27 -2
  247. lusid/models/portfolio_id_compliance_parameter.py +3 -3
  248. lusid/models/portfolio_id_list_compliance_parameter.py +3 -3
  249. lusid/models/posting_module_rule.py +29 -4
  250. lusid/models/pricing_model.py +2 -1
  251. lusid/models/property_definition.py +17 -4
  252. lusid/models/property_definition_search_result.py +3 -3
  253. lusid/models/property_domain.py +3 -0
  254. lusid/models/property_key_compliance_parameter.py +3 -3
  255. lusid/models/property_key_list_compliance_parameter.py +3 -3
  256. lusid/models/queryable_key.py +124 -0
  257. lusid/models/raw_vendor_event.py +5 -7
  258. lusid/models/re_open_period_diary_entry_request.py +84 -0
  259. lusid/models/recipe_block.py +87 -0
  260. lusid/models/recipe_composer.py +100 -0
  261. lusid/models/{reconciliation_break_id.py → recipe_value.py} +22 -23
  262. lusid/models/recombine_step.py +101 -0
  263. lusid/models/reference_instrument.py +3 -3
  264. lusid/models/relative_date_offset.py +71 -0
  265. lusid/models/repo.py +3 -3
  266. lusid/models/reset_event.py +4 -6
  267. lusid/models/resource_list_of_block_and_orders.py +113 -0
  268. lusid/models/resource_list_of_get_recipe_composer_response.py +113 -0
  269. lusid/models/resource_list_of_moved_order_to_different_block_response.py +113 -0
  270. lusid/models/resource_list_of_queryable_key.py +113 -0
  271. lusid/models/schedule.py +6 -5
  272. lusid/models/schedule_type.py +1 -0
  273. lusid/models/script_map_reference.py +94 -0
  274. lusid/models/security_election.py +86 -0
  275. lusid/models/set_share_class_instruments_request.py +79 -0
  276. lusid/models/side_definition.py +1 -8
  277. lusid/models/sides_definition_request.py +1 -8
  278. lusid/models/simple_cash_flow_loan.py +3 -3
  279. lusid/models/simple_instrument.py +3 -3
  280. lusid/models/staging_rule.py +90 -0
  281. lusid/models/staging_rule_approval_criteria.py +81 -0
  282. lusid/models/staging_rule_match_criteria.py +95 -0
  283. lusid/models/staging_rule_set.py +103 -0
  284. lusid/models/step_schedule.py +3 -3
  285. lusid/models/stock_split_event.py +3 -3
  286. lusid/models/string_compliance_parameter.py +3 -3
  287. lusid/models/string_list_compliance_parameter.py +3 -3
  288. lusid/models/template_field.py +77 -0
  289. lusid/models/term_deposit.py +3 -3
  290. lusid/models/total_return_swap.py +16 -16
  291. lusid/models/transaction_configuration_movement_data.py +3 -3
  292. lusid/models/transaction_configuration_movement_data_request.py +3 -3
  293. lusid/models/transaction_currency_and_amount.py +81 -0
  294. lusid/models/transaction_field_map.py +97 -0
  295. lusid/models/transaction_price.py +3 -3
  296. lusid/models/transaction_price_and_type.py +81 -0
  297. lusid/models/transaction_price_type.py +1 -0
  298. lusid/models/transaction_property_map.py +80 -0
  299. lusid/models/transaction_template.py +100 -0
  300. lusid/models/transaction_template_request.py +79 -0
  301. lusid/models/transaction_template_specification.py +99 -0
  302. lusid/models/transaction_type_alias.py +0 -7
  303. lusid/models/transaction_type_calculation.py +1 -1
  304. lusid/models/transition_event.py +3 -3
  305. lusid/models/translation_context.py +75 -0
  306. lusid/models/translation_script.py +9 -3
  307. lusid/models/trial_balance.py +46 -11
  308. lusid/models/trial_balance_query_parameters.py +15 -6
  309. lusid/models/trigger_event.py +3 -3
  310. lusid/models/units_ratio.py +71 -0
  311. lusid/models/update_staging_rule_set_request.py +91 -0
  312. lusid/models/{compliance_run_summary.py → upsert_compliance_run_summary_result.py} +8 -8
  313. lusid/models/upsert_dialect_request.py +79 -0
  314. lusid/models/upsert_instrument_event_request.py +12 -3
  315. lusid/models/upsert_quote_request.py +1 -1
  316. lusid/models/upsert_recipe_composer_request.py +73 -0
  317. lusid/models/upsert_recipe_request.py +3 -9
  318. lusid/models/upsert_translation_script_request.py +75 -0
  319. lusid/models/valuation_schedule.py +10 -3
  320. lusid/models/weighted_instrument.py +13 -2
  321. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +89 -0
  322. lusid/models/yield_curve_data.py +3 -3
  323. lusid/rest.py +1 -1
  324. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/METADATA +245 -48
  325. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/RECORD +326 -235
  326. {lusid_sdk-2.0.50b0.dist-info → lusid_sdk-2.0.470.dist-info}/WHEEL +1 -1
  327. lusid/extensions/api_client_builder.py +0 -138
  328. lusid/models/configuration_recipe_snippet.py +0 -139
  329. lusid/models/je_lines_query_parameters.py +0 -105
  330. lusid/models/look_up_pricing_model_options.py +0 -93
  331. lusid/models/reconciliation_run_id.py +0 -85
  332. lusid/models/upsert_reconciliation_break_request.py +0 -98
@@ -0,0 +1,1287 @@
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
+ import re # noqa: F401
16
+ import io
17
+ import warnings
18
+
19
+ from pydantic import validate_arguments, ValidationError
20
+ from typing import overload, Optional, Union, Awaitable
21
+
22
+ from typing_extensions import Annotated
23
+ from datetime import datetime
24
+
25
+ from pydantic import Field, StrictStr, conint, conlist, constr, validator
26
+
27
+ from typing import Optional
28
+
29
+ from lusid.models.paged_resource_list_of_transaction_template import PagedResourceListOfTransactionTemplate
30
+ from lusid.models.paged_resource_list_of_transaction_template_specification import PagedResourceListOfTransactionTemplateSpecification
31
+ from lusid.models.transaction_template import TransactionTemplate
32
+ from lusid.models.transaction_template_request import TransactionTemplateRequest
33
+ from lusid.models.transaction_template_specification import TransactionTemplateSpecification
34
+
35
+ from lusid.api_client import ApiClient
36
+ from lusid.api_response import ApiResponse
37
+ from lusid.exceptions import ( # noqa: F401
38
+ ApiTypeError,
39
+ ApiValueError
40
+ )
41
+
42
+
43
+ class InstrumentEventTypesApi:
44
+ """NOTE: This class is auto generated by OpenAPI Generator
45
+ Ref: https://openapi-generator.tech
46
+
47
+ Do not edit the class manually.
48
+ """
49
+
50
+ def __init__(self, api_client=None) -> None:
51
+ if api_client is None:
52
+ api_client = ApiClient.get_default()
53
+ self.api_client = api_client
54
+
55
+ @overload
56
+ async def create_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining a new transaction template to be created.")], **kwargs) -> TransactionTemplate: # noqa: E501
57
+ ...
58
+
59
+ @overload
60
+ def create_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining a new transaction template to be created.")], async_req: Optional[bool]=True, **kwargs) -> TransactionTemplate: # noqa: E501
61
+ ...
62
+
63
+ @validate_arguments
64
+ def create_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining a new transaction template to be created.")], async_req: Optional[bool]=None, **kwargs) -> Union[TransactionTemplate, Awaitable[TransactionTemplate]]: # noqa: E501
65
+ """[EXPERIMENTAL] CreateTransactionTemplate: Create Transaction Template # noqa: E501
66
+
67
+ Create a transaction template for a particular instrument event type in a scope. # noqa: E501
68
+ This method makes a synchronous HTTP request by default. To make an
69
+ asynchronous HTTP request, please pass async_req=True
70
+
71
+ >>> thread = api.create_transaction_template(instrument_event_type, instrument_type, scope, transaction_template_request, async_req=True)
72
+ >>> result = thread.get()
73
+
74
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
75
+ :type instrument_event_type: str
76
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
77
+ :type instrument_type: str
78
+ :param scope: The scope in which the template lies. (required)
79
+ :type scope: str
80
+ :param transaction_template_request: A request defining a new transaction template to be created. (required)
81
+ :type transaction_template_request: TransactionTemplateRequest
82
+ :param async_req: Whether to execute the request asynchronously.
83
+ :type async_req: bool, optional
84
+ :param _request_timeout: timeout setting for this request.
85
+ If one number provided, it will be total request
86
+ timeout. It can also be a pair (tuple) of
87
+ (connection, read) timeouts.
88
+ :return: Returns the result object.
89
+ If the method is called asynchronously,
90
+ returns the request thread.
91
+ :rtype: TransactionTemplate
92
+ """
93
+ kwargs['_return_http_data_only'] = True
94
+ if '_preload_content' in kwargs:
95
+ message = "Error! Please call the create_transaction_template_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
96
+ raise ValueError(message)
97
+ if async_req is not None:
98
+ kwargs['async_req'] = async_req
99
+ return self.create_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, transaction_template_request, **kwargs) # noqa: E501
100
+
101
+ @validate_arguments
102
+ def create_transaction_template_with_http_info(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining a new transaction template to be created.")], **kwargs) -> ApiResponse: # noqa: E501
103
+ """[EXPERIMENTAL] CreateTransactionTemplate: Create Transaction Template # noqa: E501
104
+
105
+ Create a transaction template for a particular instrument event type in a scope. # noqa: E501
106
+ This method makes a synchronous HTTP request by default. To make an
107
+ asynchronous HTTP request, please pass async_req=True
108
+
109
+ >>> thread = api.create_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, transaction_template_request, async_req=True)
110
+ >>> result = thread.get()
111
+
112
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
113
+ :type instrument_event_type: str
114
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
115
+ :type instrument_type: str
116
+ :param scope: The scope in which the template lies. (required)
117
+ :type scope: str
118
+ :param transaction_template_request: A request defining a new transaction template to be created. (required)
119
+ :type transaction_template_request: TransactionTemplateRequest
120
+ :param async_req: Whether to execute the request asynchronously.
121
+ :type async_req: bool, optional
122
+ :param _preload_content: if False, the ApiResponse.data will
123
+ be set to none and raw_data will store the
124
+ HTTP response body without reading/decoding.
125
+ Default is True.
126
+ :type _preload_content: bool, optional
127
+ :param _return_http_data_only: response data instead of ApiResponse
128
+ object with status code, headers, etc
129
+ :type _return_http_data_only: bool, optional
130
+ :param _request_timeout: timeout setting for this request. If one
131
+ number provided, it will be total request
132
+ timeout. It can also be a pair (tuple) of
133
+ (connection, read) timeouts.
134
+ :param _request_auth: set to override the auth_settings for an a single
135
+ request; this effectively ignores the authentication
136
+ in the spec for a single request.
137
+ :type _request_auth: dict, optional
138
+ :type _content_type: string, optional: force content-type for the request
139
+ :return: Returns the result object.
140
+ If the method is called asynchronously,
141
+ returns the request thread.
142
+ :rtype: tuple(TransactionTemplate, status_code(int), headers(HTTPHeaderDict))
143
+ """
144
+
145
+ _params = locals()
146
+
147
+ _all_params = [
148
+ 'instrument_event_type',
149
+ 'instrument_type',
150
+ 'scope',
151
+ 'transaction_template_request'
152
+ ]
153
+ _all_params.extend(
154
+ [
155
+ 'async_req',
156
+ '_return_http_data_only',
157
+ '_preload_content',
158
+ '_request_timeout',
159
+ '_request_auth',
160
+ '_content_type',
161
+ '_headers'
162
+ ]
163
+ )
164
+
165
+ # validate the arguments
166
+ for _key, _val in _params['kwargs'].items():
167
+ if _key not in _all_params:
168
+ raise ApiTypeError(
169
+ "Got an unexpected keyword argument '%s'"
170
+ " to method create_transaction_template" % _key
171
+ )
172
+ _params[_key] = _val
173
+ del _params['kwargs']
174
+
175
+ _collection_formats = {}
176
+
177
+ # process the path parameters
178
+ _path_params = {}
179
+ if _params['instrument_event_type']:
180
+ _path_params['instrumentEventType'] = _params['instrument_event_type']
181
+
182
+ if _params['instrument_type']:
183
+ _path_params['instrumentType'] = _params['instrument_type']
184
+
185
+ if _params['scope']:
186
+ _path_params['scope'] = _params['scope']
187
+
188
+
189
+ # process the query parameters
190
+ _query_params = []
191
+ # process the header parameters
192
+ _header_params = dict(_params.get('_headers', {}))
193
+ # process the form parameters
194
+ _form_params = []
195
+ _files = {}
196
+ # process the body parameter
197
+ _body_params = None
198
+ if _params['transaction_template_request'] is not None:
199
+ _body_params = _params['transaction_template_request']
200
+
201
+ # set the HTTP header `Accept`
202
+ _header_params['Accept'] = self.api_client.select_header_accept(
203
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
204
+
205
+ # set the HTTP header `Content-Type`
206
+ _content_types_list = _params.get('_content_type',
207
+ self.api_client.select_header_content_type(
208
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
209
+ if _content_types_list:
210
+ _header_params['Content-Type'] = _content_types_list
211
+
212
+ # authentication setting
213
+ _auth_settings = ['oauth2'] # noqa: E501
214
+
215
+ _response_types_map = {
216
+ '201': "TransactionTemplate",
217
+ '400': "LusidValidationProblemDetails",
218
+ }
219
+
220
+ return self.api_client.call_api(
221
+ '/api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope}', 'POST',
222
+ _path_params,
223
+ _query_params,
224
+ _header_params,
225
+ body=_body_params,
226
+ post_params=_form_params,
227
+ files=_files,
228
+ response_types_map=_response_types_map,
229
+ auth_settings=_auth_settings,
230
+ async_req=_params.get('async_req'),
231
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
232
+ _preload_content=_params.get('_preload_content', True),
233
+ _request_timeout=_params.get('_request_timeout'),
234
+ collection_formats=_collection_formats,
235
+ _request_auth=_params.get('_request_auth'))
236
+
237
+ @overload
238
+ async def delete_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the template.")], **kwargs) -> datetime: # noqa: E501
239
+ ...
240
+
241
+ @overload
242
+ def delete_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the template.")], async_req: Optional[bool]=True, **kwargs) -> datetime: # noqa: E501
243
+ ...
244
+
245
+ @validate_arguments
246
+ def delete_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the template.")], async_req: Optional[bool]=None, **kwargs) -> Union[datetime, Awaitable[datetime]]: # noqa: E501
247
+ """[EXPERIMENTAL] DeleteTransactionTemplate: Delete Transaction Template # noqa: E501
248
+
249
+ Delete a transaction template for a particular instrument event type in a scope. # noqa: E501
250
+ This method makes a synchronous HTTP request by default. To make an
251
+ asynchronous HTTP request, please pass async_req=True
252
+
253
+ >>> thread = api.delete_transaction_template(instrument_event_type, instrument_type, scope, async_req=True)
254
+ >>> result = thread.get()
255
+
256
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
257
+ :type instrument_event_type: str
258
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
259
+ :type instrument_type: str
260
+ :param scope: The scope of the template. (required)
261
+ :type scope: str
262
+ :param async_req: Whether to execute the request asynchronously.
263
+ :type async_req: bool, optional
264
+ :param _request_timeout: timeout setting for this request.
265
+ If one number provided, it will be total request
266
+ timeout. It can also be a pair (tuple) of
267
+ (connection, read) timeouts.
268
+ :return: Returns the result object.
269
+ If the method is called asynchronously,
270
+ returns the request thread.
271
+ :rtype: datetime
272
+ """
273
+ kwargs['_return_http_data_only'] = True
274
+ if '_preload_content' in kwargs:
275
+ message = "Error! Please call the delete_transaction_template_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
276
+ raise ValueError(message)
277
+ if async_req is not None:
278
+ kwargs['async_req'] = async_req
279
+ return self.delete_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, **kwargs) # noqa: E501
280
+
281
+ @validate_arguments
282
+ def delete_transaction_template_with_http_info(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the template.")], **kwargs) -> ApiResponse: # noqa: E501
283
+ """[EXPERIMENTAL] DeleteTransactionTemplate: Delete Transaction Template # noqa: E501
284
+
285
+ Delete a transaction template for a particular instrument event type in a scope. # noqa: E501
286
+ This method makes a synchronous HTTP request by default. To make an
287
+ asynchronous HTTP request, please pass async_req=True
288
+
289
+ >>> thread = api.delete_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, async_req=True)
290
+ >>> result = thread.get()
291
+
292
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
293
+ :type instrument_event_type: str
294
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
295
+ :type instrument_type: str
296
+ :param scope: The scope of the template. (required)
297
+ :type scope: str
298
+ :param async_req: Whether to execute the request asynchronously.
299
+ :type async_req: bool, optional
300
+ :param _preload_content: if False, the ApiResponse.data will
301
+ be set to none and raw_data will store the
302
+ HTTP response body without reading/decoding.
303
+ Default is True.
304
+ :type _preload_content: bool, optional
305
+ :param _return_http_data_only: response data instead of ApiResponse
306
+ object with status code, headers, etc
307
+ :type _return_http_data_only: bool, optional
308
+ :param _request_timeout: timeout setting for this request. If one
309
+ number provided, it will be total request
310
+ timeout. It can also be a pair (tuple) of
311
+ (connection, read) timeouts.
312
+ :param _request_auth: set to override the auth_settings for an a single
313
+ request; this effectively ignores the authentication
314
+ in the spec for a single request.
315
+ :type _request_auth: dict, optional
316
+ :type _content_type: string, optional: force content-type for the request
317
+ :return: Returns the result object.
318
+ If the method is called asynchronously,
319
+ returns the request thread.
320
+ :rtype: tuple(datetime, status_code(int), headers(HTTPHeaderDict))
321
+ """
322
+
323
+ _params = locals()
324
+
325
+ _all_params = [
326
+ 'instrument_event_type',
327
+ 'instrument_type',
328
+ 'scope'
329
+ ]
330
+ _all_params.extend(
331
+ [
332
+ 'async_req',
333
+ '_return_http_data_only',
334
+ '_preload_content',
335
+ '_request_timeout',
336
+ '_request_auth',
337
+ '_content_type',
338
+ '_headers'
339
+ ]
340
+ )
341
+
342
+ # validate the arguments
343
+ for _key, _val in _params['kwargs'].items():
344
+ if _key not in _all_params:
345
+ raise ApiTypeError(
346
+ "Got an unexpected keyword argument '%s'"
347
+ " to method delete_transaction_template" % _key
348
+ )
349
+ _params[_key] = _val
350
+ del _params['kwargs']
351
+
352
+ _collection_formats = {}
353
+
354
+ # process the path parameters
355
+ _path_params = {}
356
+ if _params['instrument_event_type']:
357
+ _path_params['instrumentEventType'] = _params['instrument_event_type']
358
+
359
+ if _params['instrument_type']:
360
+ _path_params['instrumentType'] = _params['instrument_type']
361
+
362
+ if _params['scope']:
363
+ _path_params['scope'] = _params['scope']
364
+
365
+
366
+ # process the query parameters
367
+ _query_params = []
368
+ # process the header parameters
369
+ _header_params = dict(_params.get('_headers', {}))
370
+ # process the form parameters
371
+ _form_params = []
372
+ _files = {}
373
+ # process the body parameter
374
+ _body_params = None
375
+ # set the HTTP header `Accept`
376
+ _header_params['Accept'] = self.api_client.select_header_accept(
377
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
378
+
379
+ # authentication setting
380
+ _auth_settings = ['oauth2'] # noqa: E501
381
+
382
+ _response_types_map = {
383
+ '200': "datetime",
384
+ '400': "LusidValidationProblemDetails",
385
+ }
386
+
387
+ return self.api_client.call_api(
388
+ '/api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope}', 'DELETE',
389
+ _path_params,
390
+ _query_params,
391
+ _header_params,
392
+ body=_body_params,
393
+ post_params=_form_params,
394
+ files=_files,
395
+ response_types_map=_response_types_map,
396
+ auth_settings=_auth_settings,
397
+ async_req=_params.get('async_req'),
398
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
399
+ _preload_content=_params.get('_preload_content', True),
400
+ _request_timeout=_params.get('_request_timeout'),
401
+ collection_formats=_collection_formats,
402
+ _request_auth=_params.get('_request_auth'))
403
+
404
+ @overload
405
+ async def get_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The instrument event type of the transaction template")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies. When not supplied the scope is 'default'.")], as_at : Annotated[Optional[datetime], Field(description="The AsAt time of the requested Transaction Template")] = None, **kwargs) -> TransactionTemplate: # noqa: E501
406
+ ...
407
+
408
+ @overload
409
+ def get_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The instrument event type of the transaction template")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies. When not supplied the scope is 'default'.")], as_at : Annotated[Optional[datetime], Field(description="The AsAt time of the requested Transaction Template")] = None, async_req: Optional[bool]=True, **kwargs) -> TransactionTemplate: # noqa: E501
410
+ ...
411
+
412
+ @validate_arguments
413
+ def get_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The instrument event type of the transaction template")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies. When not supplied the scope is 'default'.")], as_at : Annotated[Optional[datetime], Field(description="The AsAt time of the requested Transaction Template")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[TransactionTemplate, Awaitable[TransactionTemplate]]: # noqa: E501
414
+ """[EXPERIMENTAL] GetTransactionTemplate: Get Transaction Template # noqa: E501
415
+
416
+ Gets the Transaction Template that for the instrument event type within the scope specified. # noqa: E501
417
+ This method makes a synchronous HTTP request by default. To make an
418
+ asynchronous HTTP request, please pass async_req=True
419
+
420
+ >>> thread = api.get_transaction_template(instrument_event_type, instrument_type, scope, as_at, async_req=True)
421
+ >>> result = thread.get()
422
+
423
+ :param instrument_event_type: The instrument event type of the transaction template (required)
424
+ :type instrument_event_type: str
425
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
426
+ :type instrument_type: str
427
+ :param scope: The scope in which the template lies. When not supplied the scope is 'default'. (required)
428
+ :type scope: str
429
+ :param as_at: The AsAt time of the requested Transaction Template
430
+ :type as_at: datetime
431
+ :param async_req: Whether to execute the request asynchronously.
432
+ :type async_req: bool, optional
433
+ :param _request_timeout: timeout setting for this request.
434
+ If one number provided, it will be total request
435
+ timeout. It can also be a pair (tuple) of
436
+ (connection, read) timeouts.
437
+ :return: Returns the result object.
438
+ If the method is called asynchronously,
439
+ returns the request thread.
440
+ :rtype: TransactionTemplate
441
+ """
442
+ kwargs['_return_http_data_only'] = True
443
+ if '_preload_content' in kwargs:
444
+ message = "Error! Please call the get_transaction_template_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
445
+ raise ValueError(message)
446
+ if async_req is not None:
447
+ kwargs['async_req'] = async_req
448
+ return self.get_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, as_at, **kwargs) # noqa: E501
449
+
450
+ @validate_arguments
451
+ def get_transaction_template_with_http_info(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The instrument event type of the transaction template")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies. When not supplied the scope is 'default'.")], as_at : Annotated[Optional[datetime], Field(description="The AsAt time of the requested Transaction Template")] = None, **kwargs) -> ApiResponse: # noqa: E501
452
+ """[EXPERIMENTAL] GetTransactionTemplate: Get Transaction Template # noqa: E501
453
+
454
+ Gets the Transaction Template that for the instrument event type within the scope specified. # noqa: E501
455
+ This method makes a synchronous HTTP request by default. To make an
456
+ asynchronous HTTP request, please pass async_req=True
457
+
458
+ >>> thread = api.get_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, as_at, async_req=True)
459
+ >>> result = thread.get()
460
+
461
+ :param instrument_event_type: The instrument event type of the transaction template (required)
462
+ :type instrument_event_type: str
463
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
464
+ :type instrument_type: str
465
+ :param scope: The scope in which the template lies. When not supplied the scope is 'default'. (required)
466
+ :type scope: str
467
+ :param as_at: The AsAt time of the requested Transaction Template
468
+ :type as_at: datetime
469
+ :param async_req: Whether to execute the request asynchronously.
470
+ :type async_req: bool, optional
471
+ :param _preload_content: if False, the ApiResponse.data will
472
+ be set to none and raw_data will store the
473
+ HTTP response body without reading/decoding.
474
+ Default is True.
475
+ :type _preload_content: bool, optional
476
+ :param _return_http_data_only: response data instead of ApiResponse
477
+ object with status code, headers, etc
478
+ :type _return_http_data_only: bool, optional
479
+ :param _request_timeout: timeout setting for this request. If one
480
+ number provided, it will be total request
481
+ timeout. It can also be a pair (tuple) of
482
+ (connection, read) timeouts.
483
+ :param _request_auth: set to override the auth_settings for an a single
484
+ request; this effectively ignores the authentication
485
+ in the spec for a single request.
486
+ :type _request_auth: dict, optional
487
+ :type _content_type: string, optional: force content-type for the request
488
+ :return: Returns the result object.
489
+ If the method is called asynchronously,
490
+ returns the request thread.
491
+ :rtype: tuple(TransactionTemplate, status_code(int), headers(HTTPHeaderDict))
492
+ """
493
+
494
+ _params = locals()
495
+
496
+ _all_params = [
497
+ 'instrument_event_type',
498
+ 'instrument_type',
499
+ 'scope',
500
+ 'as_at'
501
+ ]
502
+ _all_params.extend(
503
+ [
504
+ 'async_req',
505
+ '_return_http_data_only',
506
+ '_preload_content',
507
+ '_request_timeout',
508
+ '_request_auth',
509
+ '_content_type',
510
+ '_headers'
511
+ ]
512
+ )
513
+
514
+ # validate the arguments
515
+ for _key, _val in _params['kwargs'].items():
516
+ if _key not in _all_params:
517
+ raise ApiTypeError(
518
+ "Got an unexpected keyword argument '%s'"
519
+ " to method get_transaction_template" % _key
520
+ )
521
+ _params[_key] = _val
522
+ del _params['kwargs']
523
+
524
+ _collection_formats = {}
525
+
526
+ # process the path parameters
527
+ _path_params = {}
528
+ if _params['instrument_event_type']:
529
+ _path_params['instrumentEventType'] = _params['instrument_event_type']
530
+
531
+ if _params['instrument_type']:
532
+ _path_params['instrumentType'] = _params['instrument_type']
533
+
534
+ if _params['scope']:
535
+ _path_params['scope'] = _params['scope']
536
+
537
+
538
+ # process the query parameters
539
+ _query_params = []
540
+ if _params.get('as_at') is not None: # noqa: E501
541
+ if isinstance(_params['as_at'], datetime):
542
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
543
+ else:
544
+ _query_params.append(('asAt', _params['as_at']))
545
+
546
+ # process the header parameters
547
+ _header_params = dict(_params.get('_headers', {}))
548
+ # process the form parameters
549
+ _form_params = []
550
+ _files = {}
551
+ # process the body parameter
552
+ _body_params = None
553
+ # set the HTTP header `Accept`
554
+ _header_params['Accept'] = self.api_client.select_header_accept(
555
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
556
+
557
+ # authentication setting
558
+ _auth_settings = ['oauth2'] # noqa: E501
559
+
560
+ _response_types_map = {
561
+ '200': "TransactionTemplate",
562
+ '400': "LusidValidationProblemDetails",
563
+ }
564
+
565
+ return self.api_client.call_api(
566
+ '/api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope}', 'GET',
567
+ _path_params,
568
+ _query_params,
569
+ _header_params,
570
+ body=_body_params,
571
+ post_params=_form_params,
572
+ files=_files,
573
+ response_types_map=_response_types_map,
574
+ auth_settings=_auth_settings,
575
+ async_req=_params.get('async_req'),
576
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
577
+ _preload_content=_params.get('_preload_content', True),
578
+ _request_timeout=_params.get('_request_timeout'),
579
+ collection_formats=_collection_formats,
580
+ _request_auth=_params.get('_request_auth'))
581
+
582
+ @overload
583
+ async def get_transaction_template_specification(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The requested instrument event type.")], **kwargs) -> TransactionTemplateSpecification: # noqa: E501
584
+ ...
585
+
586
+ @overload
587
+ def get_transaction_template_specification(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The requested instrument event type.")], async_req: Optional[bool]=True, **kwargs) -> TransactionTemplateSpecification: # noqa: E501
588
+ ...
589
+
590
+ @validate_arguments
591
+ def get_transaction_template_specification(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The requested instrument event type.")], async_req: Optional[bool]=None, **kwargs) -> Union[TransactionTemplateSpecification, Awaitable[TransactionTemplateSpecification]]: # noqa: E501
592
+ """[EXPERIMENTAL] GetTransactionTemplateSpecification: Get Transaction Template Specification. # noqa: E501
593
+
594
+ Retrieve the transaction template specification for a particular event type. # noqa: E501
595
+ This method makes a synchronous HTTP request by default. To make an
596
+ asynchronous HTTP request, please pass async_req=True
597
+
598
+ >>> thread = api.get_transaction_template_specification(instrument_event_type, async_req=True)
599
+ >>> result = thread.get()
600
+
601
+ :param instrument_event_type: The requested instrument event type. (required)
602
+ :type instrument_event_type: str
603
+ :param async_req: Whether to execute the request asynchronously.
604
+ :type async_req: bool, optional
605
+ :param _request_timeout: timeout setting for this request.
606
+ If one number provided, it will be total request
607
+ timeout. It can also be a pair (tuple) of
608
+ (connection, read) timeouts.
609
+ :return: Returns the result object.
610
+ If the method is called asynchronously,
611
+ returns the request thread.
612
+ :rtype: TransactionTemplateSpecification
613
+ """
614
+ kwargs['_return_http_data_only'] = True
615
+ if '_preload_content' in kwargs:
616
+ message = "Error! Please call the get_transaction_template_specification_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
617
+ raise ValueError(message)
618
+ if async_req is not None:
619
+ kwargs['async_req'] = async_req
620
+ return self.get_transaction_template_specification_with_http_info(instrument_event_type, **kwargs) # noqa: E501
621
+
622
+ @validate_arguments
623
+ def get_transaction_template_specification_with_http_info(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The requested instrument event type.")], **kwargs) -> ApiResponse: # noqa: E501
624
+ """[EXPERIMENTAL] GetTransactionTemplateSpecification: Get Transaction Template Specification. # noqa: E501
625
+
626
+ Retrieve the transaction template specification for a particular event type. # noqa: E501
627
+ This method makes a synchronous HTTP request by default. To make an
628
+ asynchronous HTTP request, please pass async_req=True
629
+
630
+ >>> thread = api.get_transaction_template_specification_with_http_info(instrument_event_type, async_req=True)
631
+ >>> result = thread.get()
632
+
633
+ :param instrument_event_type: The requested instrument event type. (required)
634
+ :type instrument_event_type: str
635
+ :param async_req: Whether to execute the request asynchronously.
636
+ :type async_req: bool, optional
637
+ :param _preload_content: if False, the ApiResponse.data will
638
+ be set to none and raw_data will store the
639
+ HTTP response body without reading/decoding.
640
+ Default is True.
641
+ :type _preload_content: bool, optional
642
+ :param _return_http_data_only: response data instead of ApiResponse
643
+ object with status code, headers, etc
644
+ :type _return_http_data_only: bool, optional
645
+ :param _request_timeout: timeout setting for this request. If one
646
+ number provided, it will be total request
647
+ timeout. It can also be a pair (tuple) of
648
+ (connection, read) timeouts.
649
+ :param _request_auth: set to override the auth_settings for an a single
650
+ request; this effectively ignores the authentication
651
+ in the spec for a single request.
652
+ :type _request_auth: dict, optional
653
+ :type _content_type: string, optional: force content-type for the request
654
+ :return: Returns the result object.
655
+ If the method is called asynchronously,
656
+ returns the request thread.
657
+ :rtype: tuple(TransactionTemplateSpecification, status_code(int), headers(HTTPHeaderDict))
658
+ """
659
+
660
+ _params = locals()
661
+
662
+ _all_params = [
663
+ 'instrument_event_type'
664
+ ]
665
+ _all_params.extend(
666
+ [
667
+ 'async_req',
668
+ '_return_http_data_only',
669
+ '_preload_content',
670
+ '_request_timeout',
671
+ '_request_auth',
672
+ '_content_type',
673
+ '_headers'
674
+ ]
675
+ )
676
+
677
+ # validate the arguments
678
+ for _key, _val in _params['kwargs'].items():
679
+ if _key not in _all_params:
680
+ raise ApiTypeError(
681
+ "Got an unexpected keyword argument '%s'"
682
+ " to method get_transaction_template_specification" % _key
683
+ )
684
+ _params[_key] = _val
685
+ del _params['kwargs']
686
+
687
+ _collection_formats = {}
688
+
689
+ # process the path parameters
690
+ _path_params = {}
691
+ if _params['instrument_event_type']:
692
+ _path_params['instrumentEventType'] = _params['instrument_event_type']
693
+
694
+
695
+ # process the query parameters
696
+ _query_params = []
697
+ # process the header parameters
698
+ _header_params = dict(_params.get('_headers', {}))
699
+ # process the form parameters
700
+ _form_params = []
701
+ _files = {}
702
+ # process the body parameter
703
+ _body_params = None
704
+ # set the HTTP header `Accept`
705
+ _header_params['Accept'] = self.api_client.select_header_accept(
706
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
707
+
708
+ # authentication setting
709
+ _auth_settings = ['oauth2'] # noqa: E501
710
+
711
+ _response_types_map = {
712
+ '200': "TransactionTemplateSpecification",
713
+ '400': "LusidValidationProblemDetails",
714
+ }
715
+
716
+ return self.api_client.call_api(
717
+ '/api/instrumenteventtypes/{instrumentEventType}/transactiontemplatespecification', 'GET',
718
+ _path_params,
719
+ _query_params,
720
+ _header_params,
721
+ body=_body_params,
722
+ post_params=_form_params,
723
+ files=_files,
724
+ response_types_map=_response_types_map,
725
+ auth_settings=_auth_settings,
726
+ async_req=_params.get('async_req'),
727
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
728
+ _preload_content=_params.get('_preload_content', True),
729
+ _request_timeout=_params.get('_request_timeout'),
730
+ collection_formats=_collection_formats,
731
+ _request_auth=_params.get('_request_auth'))
732
+
733
+ @overload
734
+ async def list_transaction_template_specifications(self, as_at : Annotated[Optional[datetime], Field(description="AsAt of the request")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> PagedResourceListOfTransactionTemplateSpecification: # noqa: E501
735
+ ...
736
+
737
+ @overload
738
+ def list_transaction_template_specifications(self, as_at : Annotated[Optional[datetime], Field(description="AsAt of the request")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfTransactionTemplateSpecification: # noqa: E501
739
+ ...
740
+
741
+ @validate_arguments
742
+ def list_transaction_template_specifications(self, as_at : Annotated[Optional[datetime], Field(description="AsAt of the request")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfTransactionTemplateSpecification, Awaitable[PagedResourceListOfTransactionTemplateSpecification]]: # noqa: E501
743
+ """[EXPERIMENTAL] ListTransactionTemplateSpecifications: List Transaction Template Specifications. # noqa: E501
744
+
745
+ Retrieves all transaction template specifications. # noqa: E501
746
+ This method makes a synchronous HTTP request by default. To make an
747
+ asynchronous HTTP request, please pass async_req=True
748
+
749
+ >>> thread = api.list_transaction_template_specifications(as_at, page, limit, filter, sort_by, async_req=True)
750
+ >>> result = thread.get()
751
+
752
+ :param as_at: AsAt of the request
753
+ :type as_at: datetime
754
+ :param page: The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.
755
+ :type page: str
756
+ :param limit: When paginating, limit the number of returned results to this many.
757
+ :type limit: int
758
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
759
+ :type filter: str
760
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
761
+ :type sort_by: List[str]
762
+ :param async_req: Whether to execute the request asynchronously.
763
+ :type async_req: bool, optional
764
+ :param _request_timeout: timeout setting for this request.
765
+ If one number provided, it will be total request
766
+ timeout. It can also be a pair (tuple) of
767
+ (connection, read) timeouts.
768
+ :return: Returns the result object.
769
+ If the method is called asynchronously,
770
+ returns the request thread.
771
+ :rtype: PagedResourceListOfTransactionTemplateSpecification
772
+ """
773
+ kwargs['_return_http_data_only'] = True
774
+ if '_preload_content' in kwargs:
775
+ message = "Error! Please call the list_transaction_template_specifications_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
776
+ raise ValueError(message)
777
+ if async_req is not None:
778
+ kwargs['async_req'] = async_req
779
+ return self.list_transaction_template_specifications_with_http_info(as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
780
+
781
+ @validate_arguments
782
+ def list_transaction_template_specifications_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="AsAt of the request")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".")] = None, **kwargs) -> ApiResponse: # noqa: E501
783
+ """[EXPERIMENTAL] ListTransactionTemplateSpecifications: List Transaction Template Specifications. # noqa: E501
784
+
785
+ Retrieves all transaction template specifications. # noqa: E501
786
+ This method makes a synchronous HTTP request by default. To make an
787
+ asynchronous HTTP request, please pass async_req=True
788
+
789
+ >>> thread = api.list_transaction_template_specifications_with_http_info(as_at, page, limit, filter, sort_by, async_req=True)
790
+ >>> result = thread.get()
791
+
792
+ :param as_at: AsAt of the request
793
+ :type as_at: datetime
794
+ :param page: The pagination token to use to continue listing Transaction Template Specifications from a previous call to list Transaction Template Specifications. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, and asAt fields must not have changed since the original request.
795
+ :type page: str
796
+ :param limit: When paginating, limit the number of returned results to this many.
797
+ :type limit: int
798
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
799
+ :type filter: str
800
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\".
801
+ :type sort_by: List[str]
802
+ :param async_req: Whether to execute the request asynchronously.
803
+ :type async_req: bool, optional
804
+ :param _preload_content: if False, the ApiResponse.data will
805
+ be set to none and raw_data will store the
806
+ HTTP response body without reading/decoding.
807
+ Default is True.
808
+ :type _preload_content: bool, optional
809
+ :param _return_http_data_only: response data instead of ApiResponse
810
+ object with status code, headers, etc
811
+ :type _return_http_data_only: bool, optional
812
+ :param _request_timeout: timeout setting for this request. If one
813
+ number provided, it will be total request
814
+ timeout. It can also be a pair (tuple) of
815
+ (connection, read) timeouts.
816
+ :param _request_auth: set to override the auth_settings for an a single
817
+ request; this effectively ignores the authentication
818
+ in the spec for a single request.
819
+ :type _request_auth: dict, optional
820
+ :type _content_type: string, optional: force content-type for the request
821
+ :return: Returns the result object.
822
+ If the method is called asynchronously,
823
+ returns the request thread.
824
+ :rtype: tuple(PagedResourceListOfTransactionTemplateSpecification, status_code(int), headers(HTTPHeaderDict))
825
+ """
826
+
827
+ _params = locals()
828
+
829
+ _all_params = [
830
+ 'as_at',
831
+ 'page',
832
+ 'limit',
833
+ 'filter',
834
+ 'sort_by'
835
+ ]
836
+ _all_params.extend(
837
+ [
838
+ 'async_req',
839
+ '_return_http_data_only',
840
+ '_preload_content',
841
+ '_request_timeout',
842
+ '_request_auth',
843
+ '_content_type',
844
+ '_headers'
845
+ ]
846
+ )
847
+
848
+ # validate the arguments
849
+ for _key, _val in _params['kwargs'].items():
850
+ if _key not in _all_params:
851
+ raise ApiTypeError(
852
+ "Got an unexpected keyword argument '%s'"
853
+ " to method list_transaction_template_specifications" % _key
854
+ )
855
+ _params[_key] = _val
856
+ del _params['kwargs']
857
+
858
+ _collection_formats = {}
859
+
860
+ # process the path parameters
861
+ _path_params = {}
862
+
863
+ # process the query parameters
864
+ _query_params = []
865
+ if _params.get('as_at') is not None: # noqa: E501
866
+ if isinstance(_params['as_at'], datetime):
867
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
868
+ else:
869
+ _query_params.append(('asAt', _params['as_at']))
870
+
871
+ if _params.get('page') is not None: # noqa: E501
872
+ _query_params.append(('page', _params['page']))
873
+
874
+ if _params.get('limit') is not None: # noqa: E501
875
+ _query_params.append(('limit', _params['limit']))
876
+
877
+ if _params.get('filter') is not None: # noqa: E501
878
+ _query_params.append(('filter', _params['filter']))
879
+
880
+ if _params.get('sort_by') is not None: # noqa: E501
881
+ _query_params.append(('sortBy', _params['sort_by']))
882
+ _collection_formats['sortBy'] = 'multi'
883
+
884
+ # process the header parameters
885
+ _header_params = dict(_params.get('_headers', {}))
886
+ # process the form parameters
887
+ _form_params = []
888
+ _files = {}
889
+ # process the body parameter
890
+ _body_params = None
891
+ # set the HTTP header `Accept`
892
+ _header_params['Accept'] = self.api_client.select_header_accept(
893
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
894
+
895
+ # authentication setting
896
+ _auth_settings = ['oauth2'] # noqa: E501
897
+
898
+ _response_types_map = {
899
+ '200': "PagedResourceListOfTransactionTemplateSpecification",
900
+ '400': "LusidValidationProblemDetails",
901
+ }
902
+
903
+ return self.api_client.call_api(
904
+ '/api/instrumenteventtypes/transactiontemplatespecifications', 'GET',
905
+ _path_params,
906
+ _query_params,
907
+ _header_params,
908
+ body=_body_params,
909
+ post_params=_form_params,
910
+ files=_files,
911
+ response_types_map=_response_types_map,
912
+ auth_settings=_auth_settings,
913
+ async_req=_params.get('async_req'),
914
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
915
+ _preload_content=_params.get('_preload_content', True),
916
+ _request_timeout=_params.get('_request_timeout'),
917
+ collection_formats=_collection_formats,
918
+ _request_auth=_params.get('_request_auth'))
919
+
920
+ @overload
921
+ async def list_transaction_templates(self, as_at : Annotated[Optional[datetime], Field(description="The AsAt time at which to retrieve the Transaction Templates")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, **kwargs) -> PagedResourceListOfTransactionTemplate: # noqa: E501
922
+ ...
923
+
924
+ @overload
925
+ def list_transaction_templates(self, as_at : Annotated[Optional[datetime], Field(description="The AsAt time at which to retrieve the Transaction Templates")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, async_req: Optional[bool]=True, **kwargs) -> PagedResourceListOfTransactionTemplate: # noqa: E501
926
+ ...
927
+
928
+ @validate_arguments
929
+ def list_transaction_templates(self, as_at : Annotated[Optional[datetime], Field(description="The AsAt time at which to retrieve the Transaction Templates")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[PagedResourceListOfTransactionTemplate, Awaitable[PagedResourceListOfTransactionTemplate]]: # noqa: E501
930
+ """[EXPERIMENTAL] ListTransactionTemplates: List Transaction Templates # noqa: E501
931
+
932
+ Lists all Transaction Templates. # noqa: E501
933
+ This method makes a synchronous HTTP request by default. To make an
934
+ asynchronous HTTP request, please pass async_req=True
935
+
936
+ >>> thread = api.list_transaction_templates(as_at, page, limit, filter, sort_by, async_req=True)
937
+ >>> result = thread.get()
938
+
939
+ :param as_at: The AsAt time at which to retrieve the Transaction Templates
940
+ :type as_at: datetime
941
+ :param page: The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.
942
+ :type page: str
943
+ :param limit: When paginating, limit the number of returned results to this many.
944
+ :type limit: int
945
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
946
+ :type filter: str
947
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
948
+ :type sort_by: List[str]
949
+ :param async_req: Whether to execute the request asynchronously.
950
+ :type async_req: bool, optional
951
+ :param _request_timeout: timeout setting for this request.
952
+ If one number provided, it will be total request
953
+ timeout. It can also be a pair (tuple) of
954
+ (connection, read) timeouts.
955
+ :return: Returns the result object.
956
+ If the method is called asynchronously,
957
+ returns the request thread.
958
+ :rtype: PagedResourceListOfTransactionTemplate
959
+ """
960
+ kwargs['_return_http_data_only'] = True
961
+ if '_preload_content' in kwargs:
962
+ message = "Error! Please call the list_transaction_templates_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
963
+ raise ValueError(message)
964
+ if async_req is not None:
965
+ kwargs['async_req'] = async_req
966
+ return self.list_transaction_templates_with_http_info(as_at, page, limit, filter, sort_by, **kwargs) # noqa: E501
967
+
968
+ @validate_arguments
969
+ def list_transaction_templates_with_http_info(self, as_at : Annotated[Optional[datetime], Field(description="The AsAt time at which to retrieve the Transaction Templates")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[conint(strict=True, le=5000, ge=1)], Field(description="When paginating, limit the number of returned results to this many.")] = None, filter : Annotated[Optional[constr(strict=True, max_length=16384, min_length=0)], Field(description="Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.")] = None, sort_by : Annotated[Optional[conlist(StrictStr)], Field(description="A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"")] = None, **kwargs) -> ApiResponse: # noqa: E501
970
+ """[EXPERIMENTAL] ListTransactionTemplates: List Transaction Templates # noqa: E501
971
+
972
+ Lists all Transaction Templates. # noqa: E501
973
+ This method makes a synchronous HTTP request by default. To make an
974
+ asynchronous HTTP request, please pass async_req=True
975
+
976
+ >>> thread = api.list_transaction_templates_with_http_info(as_at, page, limit, filter, sort_by, async_req=True)
977
+ >>> result = thread.get()
978
+
979
+ :param as_at: The AsAt time at which to retrieve the Transaction Templates
980
+ :type as_at: datetime
981
+ :param page: The pagination token to use to continue listing Transaction Templates from a previous call to list Transaction Templates. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, limit, and asAt fields must not have changed since the original request.
982
+ :type page: str
983
+ :param limit: When paginating, limit the number of returned results to this many.
984
+ :type limit: int
985
+ :param filter: Expression to filter the result set. Read more about filtering results from LUSID here: https://support.lusid.com/filtering-results-from-lusid.
986
+ :type filter: str
987
+ :param sort_by: A list of field names to sort by, each suffixed by \" ASC\" or \" DESC\"
988
+ :type sort_by: List[str]
989
+ :param async_req: Whether to execute the request asynchronously.
990
+ :type async_req: bool, optional
991
+ :param _preload_content: if False, the ApiResponse.data will
992
+ be set to none and raw_data will store the
993
+ HTTP response body without reading/decoding.
994
+ Default is True.
995
+ :type _preload_content: bool, optional
996
+ :param _return_http_data_only: response data instead of ApiResponse
997
+ object with status code, headers, etc
998
+ :type _return_http_data_only: bool, optional
999
+ :param _request_timeout: timeout setting for this request. If one
1000
+ number provided, it will be total request
1001
+ timeout. It can also be a pair (tuple) of
1002
+ (connection, read) timeouts.
1003
+ :param _request_auth: set to override the auth_settings for an a single
1004
+ request; this effectively ignores the authentication
1005
+ in the spec for a single request.
1006
+ :type _request_auth: dict, optional
1007
+ :type _content_type: string, optional: force content-type for the request
1008
+ :return: Returns the result object.
1009
+ If the method is called asynchronously,
1010
+ returns the request thread.
1011
+ :rtype: tuple(PagedResourceListOfTransactionTemplate, status_code(int), headers(HTTPHeaderDict))
1012
+ """
1013
+
1014
+ _params = locals()
1015
+
1016
+ _all_params = [
1017
+ 'as_at',
1018
+ 'page',
1019
+ 'limit',
1020
+ 'filter',
1021
+ 'sort_by'
1022
+ ]
1023
+ _all_params.extend(
1024
+ [
1025
+ 'async_req',
1026
+ '_return_http_data_only',
1027
+ '_preload_content',
1028
+ '_request_timeout',
1029
+ '_request_auth',
1030
+ '_content_type',
1031
+ '_headers'
1032
+ ]
1033
+ )
1034
+
1035
+ # validate the arguments
1036
+ for _key, _val in _params['kwargs'].items():
1037
+ if _key not in _all_params:
1038
+ raise ApiTypeError(
1039
+ "Got an unexpected keyword argument '%s'"
1040
+ " to method list_transaction_templates" % _key
1041
+ )
1042
+ _params[_key] = _val
1043
+ del _params['kwargs']
1044
+
1045
+ _collection_formats = {}
1046
+
1047
+ # process the path parameters
1048
+ _path_params = {}
1049
+
1050
+ # process the query parameters
1051
+ _query_params = []
1052
+ if _params.get('as_at') is not None: # noqa: E501
1053
+ if isinstance(_params['as_at'], datetime):
1054
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1055
+ else:
1056
+ _query_params.append(('asAt', _params['as_at']))
1057
+
1058
+ if _params.get('page') is not None: # noqa: E501
1059
+ _query_params.append(('page', _params['page']))
1060
+
1061
+ if _params.get('limit') is not None: # noqa: E501
1062
+ _query_params.append(('limit', _params['limit']))
1063
+
1064
+ if _params.get('filter') is not None: # noqa: E501
1065
+ _query_params.append(('filter', _params['filter']))
1066
+
1067
+ if _params.get('sort_by') is not None: # noqa: E501
1068
+ _query_params.append(('sortBy', _params['sort_by']))
1069
+ _collection_formats['sortBy'] = 'multi'
1070
+
1071
+ # process the header parameters
1072
+ _header_params = dict(_params.get('_headers', {}))
1073
+ # process the form parameters
1074
+ _form_params = []
1075
+ _files = {}
1076
+ # process the body parameter
1077
+ _body_params = None
1078
+ # set the HTTP header `Accept`
1079
+ _header_params['Accept'] = self.api_client.select_header_accept(
1080
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1081
+
1082
+ # authentication setting
1083
+ _auth_settings = ['oauth2'] # noqa: E501
1084
+
1085
+ _response_types_map = {
1086
+ '200': "PagedResourceListOfTransactionTemplate",
1087
+ '400': "LusidValidationProblemDetails",
1088
+ }
1089
+
1090
+ return self.api_client.call_api(
1091
+ '/api/instrumenteventtypes/transactiontemplates', 'GET',
1092
+ _path_params,
1093
+ _query_params,
1094
+ _header_params,
1095
+ body=_body_params,
1096
+ post_params=_form_params,
1097
+ files=_files,
1098
+ response_types_map=_response_types_map,
1099
+ auth_settings=_auth_settings,
1100
+ async_req=_params.get('async_req'),
1101
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1102
+ _preload_content=_params.get('_preload_content', True),
1103
+ _request_timeout=_params.get('_request_timeout'),
1104
+ collection_formats=_collection_formats,
1105
+ _request_auth=_params.get('_request_auth'))
1106
+
1107
+ @overload
1108
+ async def update_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining the updated values for the transaction template.")], **kwargs) -> TransactionTemplate: # noqa: E501
1109
+ ...
1110
+
1111
+ @overload
1112
+ def update_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining the updated values for the transaction template.")], async_req: Optional[bool]=True, **kwargs) -> TransactionTemplate: # noqa: E501
1113
+ ...
1114
+
1115
+ @validate_arguments
1116
+ def update_transaction_template(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining the updated values for the transaction template.")], async_req: Optional[bool]=None, **kwargs) -> Union[TransactionTemplate, Awaitable[TransactionTemplate]]: # noqa: E501
1117
+ """[EXPERIMENTAL] UpdateTransactionTemplate: Update Transaction Template # noqa: E501
1118
+
1119
+ Update a transaction template for a particular instrument event type in a scope. # noqa: E501
1120
+ This method makes a synchronous HTTP request by default. To make an
1121
+ asynchronous HTTP request, please pass async_req=True
1122
+
1123
+ >>> thread = api.update_transaction_template(instrument_event_type, instrument_type, scope, transaction_template_request, async_req=True)
1124
+ >>> result = thread.get()
1125
+
1126
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
1127
+ :type instrument_event_type: str
1128
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
1129
+ :type instrument_type: str
1130
+ :param scope: The scope in which the template lies. (required)
1131
+ :type scope: str
1132
+ :param transaction_template_request: A request defining the updated values for the transaction template. (required)
1133
+ :type transaction_template_request: TransactionTemplateRequest
1134
+ :param async_req: Whether to execute the request asynchronously.
1135
+ :type async_req: bool, optional
1136
+ :param _request_timeout: timeout setting for this request.
1137
+ If one number provided, it will be total request
1138
+ timeout. It can also be a pair (tuple) of
1139
+ (connection, read) timeouts.
1140
+ :return: Returns the result object.
1141
+ If the method is called asynchronously,
1142
+ returns the request thread.
1143
+ :rtype: TransactionTemplate
1144
+ """
1145
+ kwargs['_return_http_data_only'] = True
1146
+ if '_preload_content' in kwargs:
1147
+ message = "Error! Please call the update_transaction_template_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1148
+ raise ValueError(message)
1149
+ if async_req is not None:
1150
+ kwargs['async_req'] = async_req
1151
+ return self.update_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, transaction_template_request, **kwargs) # noqa: E501
1152
+
1153
+ @validate_arguments
1154
+ def update_transaction_template_with_http_info(self, instrument_event_type : Annotated[StrictStr, Field(..., description="The type of instrument events that the template is applied to.")], instrument_type : Annotated[StrictStr, Field(..., description="The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template")], scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope in which the template lies.")], transaction_template_request : Annotated[TransactionTemplateRequest, Field(..., description="A request defining the updated values for the transaction template.")], **kwargs) -> ApiResponse: # noqa: E501
1155
+ """[EXPERIMENTAL] UpdateTransactionTemplate: Update Transaction Template # noqa: E501
1156
+
1157
+ Update a transaction template for a particular instrument event type in a scope. # noqa: E501
1158
+ This method makes a synchronous HTTP request by default. To make an
1159
+ asynchronous HTTP request, please pass async_req=True
1160
+
1161
+ >>> thread = api.update_transaction_template_with_http_info(instrument_event_type, instrument_type, scope, transaction_template_request, async_req=True)
1162
+ >>> result = thread.get()
1163
+
1164
+ :param instrument_event_type: The type of instrument events that the template is applied to. (required)
1165
+ :type instrument_event_type: str
1166
+ :param instrument_type: The instrument type of the transaction template. The combination of the instrument event type, instrument type and scope uniquely identifies a transaction template (required)
1167
+ :type instrument_type: str
1168
+ :param scope: The scope in which the template lies. (required)
1169
+ :type scope: str
1170
+ :param transaction_template_request: A request defining the updated values for the transaction template. (required)
1171
+ :type transaction_template_request: TransactionTemplateRequest
1172
+ :param async_req: Whether to execute the request asynchronously.
1173
+ :type async_req: bool, optional
1174
+ :param _preload_content: if False, the ApiResponse.data will
1175
+ be set to none and raw_data will store the
1176
+ HTTP response body without reading/decoding.
1177
+ Default is True.
1178
+ :type _preload_content: bool, optional
1179
+ :param _return_http_data_only: response data instead of ApiResponse
1180
+ object with status code, headers, etc
1181
+ :type _return_http_data_only: bool, optional
1182
+ :param _request_timeout: timeout setting for this request. If one
1183
+ number provided, it will be total request
1184
+ timeout. It can also be a pair (tuple) of
1185
+ (connection, read) timeouts.
1186
+ :param _request_auth: set to override the auth_settings for an a single
1187
+ request; this effectively ignores the authentication
1188
+ in the spec for a single request.
1189
+ :type _request_auth: dict, optional
1190
+ :type _content_type: string, optional: force content-type for the request
1191
+ :return: Returns the result object.
1192
+ If the method is called asynchronously,
1193
+ returns the request thread.
1194
+ :rtype: tuple(TransactionTemplate, status_code(int), headers(HTTPHeaderDict))
1195
+ """
1196
+
1197
+ _params = locals()
1198
+
1199
+ _all_params = [
1200
+ 'instrument_event_type',
1201
+ 'instrument_type',
1202
+ 'scope',
1203
+ 'transaction_template_request'
1204
+ ]
1205
+ _all_params.extend(
1206
+ [
1207
+ 'async_req',
1208
+ '_return_http_data_only',
1209
+ '_preload_content',
1210
+ '_request_timeout',
1211
+ '_request_auth',
1212
+ '_content_type',
1213
+ '_headers'
1214
+ ]
1215
+ )
1216
+
1217
+ # validate the arguments
1218
+ for _key, _val in _params['kwargs'].items():
1219
+ if _key not in _all_params:
1220
+ raise ApiTypeError(
1221
+ "Got an unexpected keyword argument '%s'"
1222
+ " to method update_transaction_template" % _key
1223
+ )
1224
+ _params[_key] = _val
1225
+ del _params['kwargs']
1226
+
1227
+ _collection_formats = {}
1228
+
1229
+ # process the path parameters
1230
+ _path_params = {}
1231
+ if _params['instrument_event_type']:
1232
+ _path_params['instrumentEventType'] = _params['instrument_event_type']
1233
+
1234
+ if _params['instrument_type']:
1235
+ _path_params['instrumentType'] = _params['instrument_type']
1236
+
1237
+ if _params['scope']:
1238
+ _path_params['scope'] = _params['scope']
1239
+
1240
+
1241
+ # process the query parameters
1242
+ _query_params = []
1243
+ # process the header parameters
1244
+ _header_params = dict(_params.get('_headers', {}))
1245
+ # process the form parameters
1246
+ _form_params = []
1247
+ _files = {}
1248
+ # process the body parameter
1249
+ _body_params = None
1250
+ if _params['transaction_template_request'] is not None:
1251
+ _body_params = _params['transaction_template_request']
1252
+
1253
+ # set the HTTP header `Accept`
1254
+ _header_params['Accept'] = self.api_client.select_header_accept(
1255
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1256
+
1257
+ # set the HTTP header `Content-Type`
1258
+ _content_types_list = _params.get('_content_type',
1259
+ self.api_client.select_header_content_type(
1260
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1261
+ if _content_types_list:
1262
+ _header_params['Content-Type'] = _content_types_list
1263
+
1264
+ # authentication setting
1265
+ _auth_settings = ['oauth2'] # noqa: E501
1266
+
1267
+ _response_types_map = {
1268
+ '200': "TransactionTemplate",
1269
+ '400': "LusidValidationProblemDetails",
1270
+ }
1271
+
1272
+ return self.api_client.call_api(
1273
+ '/api/instrumenteventtypes/{instrumentEventType}/transactiontemplates/{instrumentType}/{scope}', 'PUT',
1274
+ _path_params,
1275
+ _query_params,
1276
+ _header_params,
1277
+ body=_body_params,
1278
+ post_params=_form_params,
1279
+ files=_files,
1280
+ response_types_map=_response_types_map,
1281
+ auth_settings=_auth_settings,
1282
+ async_req=_params.get('async_req'),
1283
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1284
+ _preload_content=_params.get('_preload_content', True),
1285
+ _request_timeout=_params.get('_request_timeout'),
1286
+ collection_formats=_collection_formats,
1287
+ _request_auth=_params.get('_request_auth'))