lusid-sdk 1.1.257__py3-none-any.whl → 2.0.430__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 (1256) hide show
  1. lusid/__init__.py +262 -253
  2. lusid/api/__init__.py +15 -3
  3. lusid/api/abor_api.py +2297 -0
  4. lusid/api/abor_configuration_api.py +944 -0
  5. lusid/api/address_key_definition_api.py +296 -269
  6. lusid/api/aggregation_api.py +470 -261
  7. lusid/api/allocations_api.py +409 -402
  8. lusid/api/application_metadata_api.py +266 -244
  9. lusid/api/blocks_api.py +407 -400
  10. lusid/api/calendars_api.py +1179 -1634
  11. lusid/api/chart_of_accounts_api.py +5391 -0
  12. lusid/api/complex_market_data_api.py +471 -310
  13. lusid/api/compliance_api.py +1042 -1866
  14. lusid/api/configuration_recipe_api.py +1507 -359
  15. lusid/api/conventions_api.py +1982 -0
  16. lusid/api/corporate_action_sources_api.py +957 -881
  17. lusid/api/counterparties_api.py +729 -711
  18. lusid/api/custom_entities_api.py +1190 -1469
  19. lusid/api/custom_entity_definitions_api.py +387 -364
  20. lusid/api/custom_entity_types_api.py +393 -369
  21. lusid/api/cut_label_definitions_api.py +482 -451
  22. lusid/api/data_types_api.py +708 -1090
  23. lusid/api/derived_transaction_portfolios_api.py +204 -213
  24. lusid/api/entities_api.py +114 -114
  25. lusid/api/executions_api.py +409 -402
  26. lusid/api/funds_api.py +944 -0
  27. lusid/api/instrument_event_types_api.py +1287 -0
  28. lusid/api/instrument_events_api.py +631 -82
  29. lusid/api/instruments_api.py +2388 -1911
  30. lusid/api/legacy_compliance_api.py +1449 -0
  31. lusid/api/legal_entities_api.py +1898 -2242
  32. lusid/api/order_graph_api.py +355 -362
  33. lusid/api/order_instructions_api.py +745 -0
  34. lusid/api/order_management_api.py +508 -873
  35. lusid/api/orders_api.py +409 -402
  36. lusid/api/packages_api.py +745 -0
  37. lusid/api/participations_api.py +407 -400
  38. lusid/api/persons_api.py +1775 -2102
  39. lusid/api/placements_api.py +407 -400
  40. lusid/api/portfolio_groups_api.py +2811 -2983
  41. lusid/api/portfolios_api.py +2861 -4068
  42. lusid/api/property_definitions_api.py +1102 -1183
  43. lusid/api/quotes_api.py +1293 -512
  44. lusid/api/reconciliations_api.py +1858 -733
  45. lusid/api/reference_lists_api.py +389 -389
  46. lusid/api/reference_portfolio_api.py +409 -619
  47. lusid/api/relation_definitions_api.py +538 -0
  48. lusid/api/relations_api.py +414 -0
  49. lusid/api/relationship_definitions_api.py +484 -494
  50. lusid/api/relationships_api.py +206 -224
  51. lusid/api/schemas_api.py +366 -322
  52. lusid/api/scopes_api.py +184 -207
  53. lusid/api/scripted_translation_api.py +766 -775
  54. lusid/api/search_api.py +408 -423
  55. lusid/api/sequences_api.py +376 -404
  56. lusid/api/structured_result_data_api.py +1205 -575
  57. lusid/api/system_configuration_api.py +979 -143
  58. lusid/api/tax_rule_sets_api.py +900 -0
  59. lusid/api/transaction_configuration_api.py +1055 -1093
  60. lusid/api/transaction_fees_api.py +935 -0
  61. lusid/api/transaction_portfolios_api.py +4373 -3879
  62. lusid/api/translation_api.py +364 -0
  63. lusid/api_client.py +197 -124
  64. lusid/api_response.py +25 -0
  65. lusid/configuration.py +58 -81
  66. lusid/exceptions.py +17 -15
  67. lusid/extensions/__init__.py +7 -0
  68. lusid/extensions/api_client.py +766 -0
  69. lusid/extensions/api_client_factory.py +248 -0
  70. lusid/extensions/api_configuration.py +234 -0
  71. lusid/extensions/configuration_loaders.py +201 -0
  72. lusid/{utilities → extensions}/proxy_config.py +24 -6
  73. lusid/{utilities → extensions}/refreshing_token.py +82 -35
  74. lusid/extensions/rest.py +300 -0
  75. lusid/extensions/retry.py +357 -0
  76. lusid/extensions/socket_keep_alive.py +52 -0
  77. lusid/extensions/tcp_keep_alive_connector.py +113 -0
  78. lusid/models/__init__.py +246 -244
  79. lusid/models/a2_b_breakdown.py +65 -187
  80. lusid/models/a2_b_category.py +60 -154
  81. lusid/models/a2_b_data_record.py +178 -540
  82. lusid/models/a2_b_movement_record.py +192 -635
  83. lusid/models/abor.py +157 -0
  84. lusid/models/abor_configuration.py +159 -0
  85. lusid/models/abor_configuration_properties.py +115 -0
  86. lusid/models/abor_configuration_request.py +145 -0
  87. lusid/models/abor_properties.py +115 -0
  88. lusid/models/abor_request.py +131 -0
  89. lusid/models/access_controlled_action.py +87 -215
  90. lusid/models/access_controlled_resource.py +105 -271
  91. lusid/models/access_metadata_operation.py +84 -234
  92. lusid/models/access_metadata_value.py +58 -166
  93. lusid/models/account.py +131 -0
  94. lusid/models/account_properties.py +115 -0
  95. lusid/models/accounting_method.py +42 -0
  96. lusid/models/accounts_upsert_response.py +110 -0
  97. lusid/models/accumulation_event.py +87 -293
  98. lusid/models/action_id.py +55 -204
  99. lusid/models/action_result_of_portfolio.py +57 -154
  100. lusid/models/add_business_days_to_date_request.py +63 -214
  101. lusid/models/add_business_days_to_date_response.py +52 -127
  102. lusid/models/additional_payment.py +58 -228
  103. lusid/models/address_definition.py +97 -284
  104. lusid/models/address_key_compliance_parameter.py +73 -166
  105. lusid/models/address_key_definition.py +74 -220
  106. lusid/models/address_key_filter.py +69 -191
  107. lusid/models/address_key_list.py +73 -170
  108. lusid/models/address_key_list_compliance_parameter.py +77 -164
  109. lusid/models/address_key_option_definition.py +71 -293
  110. lusid/models/adjust_holding.py +101 -214
  111. lusid/models/adjust_holding_for_date_request.py +109 -285
  112. lusid/models/adjust_holding_request.py +107 -250
  113. lusid/models/aggregate_spec.py +67 -196
  114. lusid/models/aggregated_return.py +106 -373
  115. lusid/models/aggregated_returns_dispersion_request.py +102 -291
  116. lusid/models/aggregated_returns_request.py +128 -403
  117. lusid/models/aggregated_returns_response.py +95 -184
  118. lusid/models/aggregated_transactions_request.py +131 -0
  119. lusid/models/aggregation_context.py +55 -125
  120. lusid/models/aggregation_measure_failure_detail.py +80 -238
  121. lusid/models/aggregation_op.py +49 -0
  122. lusid/models/aggregation_options.py +55 -189
  123. lusid/models/aggregation_query.py +106 -439
  124. lusid/models/aggregation_type.py +44 -0
  125. lusid/models/allocation.py +207 -735
  126. lusid/models/allocation_request.py +175 -611
  127. lusid/models/allocation_service_run_response.py +102 -0
  128. lusid/models/allocation_set_request.py +64 -126
  129. lusid/models/amortisation_event.py +80 -266
  130. lusid/models/annul_quotes_response.py +99 -215
  131. lusid/models/annul_single_structured_data_response.py +74 -186
  132. lusid/models/annul_structured_data_response.py +99 -215
  133. lusid/models/asset_class.py +44 -0
  134. lusid/models/asset_leg.py +57 -161
  135. lusid/models/barrier.py +62 -228
  136. lusid/models/basket.py +85 -229
  137. lusid/models/basket_identifier.py +57 -224
  138. lusid/models/batch_adjust_holdings_response.py +128 -214
  139. lusid/models/batch_upsert_instrument_properties_response.py +101 -221
  140. lusid/models/batch_upsert_portfolio_transactions_response.py +128 -214
  141. lusid/models/batch_upsert_property_definition_properties_response.py +97 -221
  142. lusid/models/block.py +133 -542
  143. lusid/models/block_and_order_id_request.py +60 -156
  144. lusid/models/block_and_orders.py +65 -156
  145. lusid/models/block_and_orders_create_request.py +59 -134
  146. lusid/models/block_and_orders_request.py +117 -405
  147. lusid/models/block_request.py +108 -448
  148. lusid/models/block_set_request.py +64 -126
  149. lusid/models/blocked_order_request.py +113 -395
  150. lusid/models/bond.py +151 -570
  151. lusid/models/bond_coupon_event.py +80 -261
  152. lusid/models/bond_default_event.py +74 -167
  153. lusid/models/bond_principal_event.py +80 -261
  154. lusid/models/book_transactions_request.py +97 -0
  155. lusid/models/book_transactions_response.py +107 -0
  156. lusid/models/bool_compliance_parameter.py +73 -164
  157. lusid/models/bool_list_compliance_parameter.py +77 -164
  158. lusid/models/branch_step.py +83 -201
  159. lusid/models/bucketed_cash_flow_request.py +172 -0
  160. lusid/models/bucketed_cash_flow_response.py +111 -271
  161. lusid/models/bucketing_schedule.py +56 -126
  162. lusid/models/calculation_info.py +73 -0
  163. lusid/models/calendar.py +88 -337
  164. lusid/models/calendar_date.py +84 -407
  165. lusid/models/calendar_dependency.py +73 -166
  166. lusid/models/cap_floor.py +85 -295
  167. lusid/models/cash_dependency.py +76 -199
  168. lusid/models/cash_dividend_event.py +100 -291
  169. lusid/models/cash_election.py +73 -316
  170. lusid/models/cash_flow_event.py +80 -199
  171. lusid/models/cash_flow_lineage.py +91 -276
  172. lusid/models/cash_flow_value.py +90 -289
  173. lusid/models/cash_flow_value_set.py +86 -164
  174. lusid/models/cash_ladder_record.py +58 -216
  175. lusid/models/cash_perpetual.py +78 -231
  176. lusid/models/cds_flow_conventions.py +113 -514
  177. lusid/models/cds_index.py +100 -382
  178. lusid/models/cds_protection_detail_specification.py +57 -230
  179. lusid/models/change.py +110 -355
  180. lusid/models/change_history.py +90 -297
  181. lusid/models/change_history_action.py +39 -0
  182. lusid/models/change_item.py +80 -252
  183. lusid/models/chart_of_accounts.py +135 -0
  184. lusid/models/chart_of_accounts_properties.py +115 -0
  185. lusid/models/chart_of_accounts_request.py +120 -0
  186. lusid/models/check_step.py +92 -233
  187. lusid/models/cleardown_module_details.py +95 -0
  188. lusid/models/cleardown_module_request.py +117 -0
  189. lusid/models/cleardown_module_response.py +139 -0
  190. lusid/models/cleardown_module_rule.py +94 -0
  191. lusid/models/cleardown_module_rules_updated_response.py +110 -0
  192. lusid/models/client.py +75 -0
  193. lusid/models/close_event.py +76 -197
  194. lusid/models/close_period_diary_entry_request.py +149 -0
  195. lusid/models/complete_portfolio.py +149 -493
  196. lusid/models/complete_relation.py +96 -0
  197. lusid/models/complete_relationship.py +88 -378
  198. lusid/models/complex_bond.py +129 -326
  199. lusid/models/complex_market_data.py +82 -151
  200. lusid/models/complex_market_data_id.py +74 -274
  201. lusid/models/compliance_breached_order_info.py +83 -0
  202. lusid/models/compliance_parameter.py +85 -156
  203. lusid/models/compliance_parameter_type.py +56 -0
  204. lusid/models/compliance_rule.py +137 -0
  205. lusid/models/compliance_rule_breakdown.py +84 -257
  206. lusid/models/compliance_rule_breakdown_request.py +84 -252
  207. lusid/models/compliance_rule_response.py +149 -409
  208. lusid/models/compliance_rule_result.py +91 -0
  209. lusid/models/compliance_rule_result_detail.py +91 -414
  210. lusid/models/compliance_rule_result_portfolio_detail.py +57 -159
  211. lusid/models/compliance_rule_result_v2.py +68 -250
  212. lusid/models/compliance_rule_upsert_request.py +178 -0
  213. lusid/models/compliance_rule_upsert_response.py +82 -0
  214. lusid/models/compliance_run_info.py +81 -0
  215. lusid/models/compliance_run_info_v2.py +64 -253
  216. lusid/models/compliance_step.py +77 -146
  217. lusid/models/compliance_step_type.py +42 -0
  218. lusid/models/compliance_summary_rule_result.py +94 -342
  219. lusid/models/compliance_summary_rule_result_request.py +94 -348
  220. lusid/models/compliance_template.py +89 -251
  221. lusid/models/compliance_template_parameter.py +55 -201
  222. lusid/models/compliance_template_variation.py +94 -292
  223. lusid/models/component_transaction.py +92 -0
  224. lusid/models/composite_breakdown.py +72 -188
  225. lusid/models/composite_breakdown_request.py +97 -281
  226. lusid/models/composite_breakdown_response.py +90 -186
  227. lusid/models/composite_dispersion.py +116 -339
  228. lusid/models/composite_dispersion_response.py +95 -184
  229. lusid/models/compounding.py +76 -299
  230. lusid/models/configuration_recipe.py +114 -362
  231. lusid/models/constant_volatility_surface.py +85 -268
  232. lusid/models/constituents_adjustment_header.py +73 -185
  233. lusid/models/contract_for_difference.py +90 -461
  234. lusid/models/corporate_action.py +82 -313
  235. lusid/models/corporate_action_source.py +104 -302
  236. lusid/models/corporate_action_transition.py +69 -155
  237. lusid/models/corporate_action_transition_component.py +59 -262
  238. lusid/models/corporate_action_transition_component_request.py +55 -192
  239. lusid/models/corporate_action_transition_request.py +69 -153
  240. lusid/models/counterparty_agreement.py +73 -292
  241. lusid/models/counterparty_risk_information.py +78 -197
  242. lusid/models/counterparty_signatory.py +57 -161
  243. lusid/models/create_address_key_definition_request.py +53 -163
  244. lusid/models/create_calendar_request.py +94 -262
  245. lusid/models/create_corporate_action_source_request.py +100 -291
  246. lusid/models/create_custom_entity_type_request.py +79 -242
  247. lusid/models/create_cut_label_definition_request.py +85 -256
  248. lusid/models/create_data_map_request.py +61 -155
  249. lusid/models/create_data_type_request.py +143 -462
  250. lusid/models/create_date_request.py +111 -368
  251. lusid/models/create_derived_property_definition_request.py +79 -331
  252. lusid/models/create_derived_transaction_portfolio_request.py +160 -535
  253. lusid/models/create_portfolio_details.py +55 -125
  254. lusid/models/create_portfolio_group_request.py +117 -314
  255. lusid/models/create_property_definition_request.py +105 -424
  256. lusid/models/create_recipe_request.py +90 -0
  257. lusid/models/create_reconciliation_request.py +140 -0
  258. lusid/models/create_reference_portfolio_request.py +102 -317
  259. lusid/models/create_relation_definition_request.py +95 -0
  260. lusid/models/create_relation_request.py +71 -0
  261. lusid/models/create_relationship_definition_request.py +112 -437
  262. lusid/models/create_relationship_request.py +87 -238
  263. lusid/models/create_sequence_request.py +105 -327
  264. lusid/models/create_tax_rule_set_request.py +103 -0
  265. lusid/models/create_trade_tickets_response.py +69 -156
  266. lusid/models/create_transaction_portfolio_request.py +158 -574
  267. lusid/models/create_unit_definition.py +83 -241
  268. lusid/models/credit_default_swap.py +105 -384
  269. lusid/models/credit_rating.py +67 -178
  270. lusid/models/credit_spread_curve_data.py +109 -420
  271. lusid/models/credit_support_annex.py +73 -432
  272. lusid/models/criterion_type.py +39 -0
  273. lusid/models/currency_and_amount.py +58 -155
  274. lusid/models/curve_options.py +110 -0
  275. lusid/models/custodian_account.py +93 -396
  276. lusid/models/custodian_account_properties.py +115 -0
  277. lusid/models/custodian_account_request.py +148 -0
  278. lusid/models/custodian_accounts_upsert_response.py +110 -0
  279. lusid/models/custom_entity_definition.py +85 -351
  280. lusid/models/custom_entity_definition_request.py +79 -242
  281. lusid/models/custom_entity_field.py +73 -222
  282. lusid/models/custom_entity_field_definition.py +71 -296
  283. lusid/models/custom_entity_id.py +91 -280
  284. lusid/models/custom_entity_request.py +78 -228
  285. lusid/models/custom_entity_response.py +118 -409
  286. lusid/models/custom_entity_type.py +85 -351
  287. lusid/models/cut_label_definition.py +111 -322
  288. lusid/models/cut_local_time.py +53 -154
  289. lusid/models/data_definition.py +86 -301
  290. lusid/models/data_map_key.py +83 -174
  291. lusid/models/data_mapping.py +64 -126
  292. lusid/models/data_scope.py +80 -0
  293. lusid/models/data_type.py +145 -506
  294. lusid/models/data_type_summary.py +117 -398
  295. lusid/models/data_type_value_range.py +38 -0
  296. lusid/models/date_attributes.py +140 -371
  297. lusid/models/date_or_diary_entry.py +91 -0
  298. lusid/models/date_range.py +59 -155
  299. lusid/models/date_time_comparison_type.py +38 -0
  300. lusid/models/date_time_compliance_parameter.py +74 -165
  301. lusid/models/date_time_list_compliance_parameter.py +77 -164
  302. lusid/models/day_month.py +71 -0
  303. lusid/models/day_of_week.py +20 -102
  304. lusid/models/decimal_compliance_parameter.py +73 -164
  305. lusid/models/decimal_list.py +73 -170
  306. lusid/models/decimal_list_compliance_parameter.py +77 -164
  307. lusid/models/decorated_compliance_run_summary.py +65 -156
  308. lusid/models/delete_accounts_response.py +95 -0
  309. lusid/models/delete_custodian_accounts_response.py +103 -0
  310. lusid/models/delete_instrument_properties_response.py +67 -186
  311. lusid/models/delete_instrument_response.py +74 -216
  312. lusid/models/delete_instruments_response.py +74 -217
  313. lusid/models/delete_modes.py +38 -0
  314. lusid/models/delete_relation_request.py +71 -0
  315. lusid/models/delete_relationship_request.py +87 -238
  316. lusid/models/deleted_entity_response.py +81 -306
  317. lusid/models/dependency_source_filter.py +70 -228
  318. lusid/models/described_address_key.py +81 -0
  319. lusid/models/dialect.py +67 -185
  320. lusid/models/dialect_id.py +89 -330
  321. lusid/models/dialect_schema.py +58 -167
  322. lusid/models/diary_entry.py +155 -0
  323. lusid/models/diary_entry_request.py +120 -0
  324. lusid/models/discount_factor_curve_data.py +91 -296
  325. lusid/models/discounting_dependency.py +76 -199
  326. lusid/models/discounting_method.py +39 -0
  327. lusid/models/dividend_option_event.py +112 -354
  328. lusid/models/dividend_reinvestment_event.py +105 -354
  329. lusid/models/economic_dependency.py +82 -150
  330. lusid/models/economic_dependency_type.py +50 -0
  331. lusid/models/economic_dependency_with_complex_market_data.py +61 -156
  332. lusid/models/economic_dependency_with_quote.py +68 -186
  333. lusid/models/election_specification.py +73 -0
  334. lusid/models/eligibility_calculation.py +71 -0
  335. lusid/models/empty_model_options.py +71 -134
  336. lusid/models/entity_identifier.py +60 -190
  337. lusid/models/equity.py +86 -225
  338. lusid/models/equity_all_of_identifiers.py +83 -415
  339. lusid/models/equity_curve_by_prices_data.py +91 -296
  340. lusid/models/equity_curve_dependency.py +80 -281
  341. lusid/models/equity_model_options.py +73 -169
  342. lusid/models/equity_option.py +117 -573
  343. lusid/models/equity_swap.py +107 -487
  344. lusid/models/equity_vol_dependency.py +80 -275
  345. lusid/models/equity_vol_surface_data.py +101 -267
  346. lusid/models/error_detail.py +77 -216
  347. lusid/models/event_date_range.py +54 -155
  348. lusid/models/ex_dividend_configuration.py +57 -221
  349. lusid/models/exchange_traded_option.py +84 -261
  350. lusid/models/exchange_traded_option_contract_details.py +80 -535
  351. lusid/models/execution.py +144 -671
  352. lusid/models/execution_request.py +119 -577
  353. lusid/models/execution_set_request.py +64 -126
  354. lusid/models/exercise_event.py +83 -228
  355. lusid/models/exotic_instrument.py +79 -199
  356. lusid/models/expanded_group.py +121 -338
  357. lusid/models/fee_rule.py +138 -0
  358. lusid/models/fee_rule_upsert_request.py +142 -0
  359. lusid/models/fee_rule_upsert_response.py +97 -0
  360. lusid/models/field_definition.py +62 -195
  361. lusid/models/field_schema.py +83 -247
  362. lusid/models/field_value.py +60 -165
  363. lusid/models/file_response.py +69 -181
  364. lusid/models/filter_predicate_compliance_parameter.py +73 -167
  365. lusid/models/filter_step.py +83 -201
  366. lusid/models/fixed_leg.py +95 -287
  367. lusid/models/fixed_leg_all_of_overrides.py +65 -154
  368. lusid/models/fixed_schedule.py +131 -0
  369. lusid/models/flexible_loan.py +88 -263
  370. lusid/models/float_schedule.py +155 -0
  371. lusid/models/floating_leg.py +109 -349
  372. lusid/models/flow_convention_name.py +60 -193
  373. lusid/models/flow_conventions.py +120 -607
  374. lusid/models/forward_rate_agreement.py +90 -356
  375. lusid/models/from_recipe.py +81 -0
  376. lusid/models/fund.py +182 -0
  377. lusid/models/fund_properties.py +115 -0
  378. lusid/models/fund_request.py +165 -0
  379. lusid/models/fund_share_class.py +81 -336
  380. lusid/models/funding_leg.py +89 -259
  381. lusid/models/funding_leg_options.py +91 -0
  382. lusid/models/future.py +100 -388
  383. lusid/models/futures_contract_details.py +112 -562
  384. lusid/models/fx_conventions.py +55 -198
  385. lusid/models/fx_dependency.py +78 -231
  386. lusid/models/fx_forward.py +99 -481
  387. lusid/models/fx_forward_curve_by_quote_reference.py +114 -387
  388. lusid/models/fx_forward_curve_data.py +95 -360
  389. lusid/models/fx_forward_model_options.py +91 -242
  390. lusid/models/fx_forward_pips_curve_data.py +95 -360
  391. lusid/models/fx_forward_settlement_event.py +119 -507
  392. lusid/models/fx_forward_tenor_curve_data.py +117 -420
  393. lusid/models/fx_forward_tenor_pips_curve_data.py +117 -420
  394. lusid/models/fx_forwards_dependency.py +80 -269
  395. lusid/models/fx_linked_notional_schedule.py +90 -255
  396. lusid/models/fx_option.py +159 -629
  397. lusid/models/fx_rate_schedule.py +111 -0
  398. lusid/models/fx_swap.py +89 -224
  399. lusid/models/fx_tenor_convention.py +53 -166
  400. lusid/models/fx_vol_dependency.py +80 -269
  401. lusid/models/fx_vol_surface_data.py +101 -267
  402. lusid/models/general_ledger_profile_mapping.py +78 -0
  403. lusid/models/general_ledger_profile_request.py +112 -0
  404. lusid/models/general_ledger_profile_response.py +146 -0
  405. lusid/models/get_cds_flow_conventions_response.py +115 -0
  406. lusid/models/get_complex_market_data_response.py +111 -214
  407. lusid/models/get_counterparty_agreement_response.py +97 -213
  408. lusid/models/get_credit_support_annex_response.py +97 -213
  409. lusid/models/get_data_map_response.py +129 -0
  410. lusid/models/get_flow_conventions_response.py +115 -0
  411. lusid/models/get_index_convention_response.py +115 -0
  412. lusid/models/get_instruments_response.py +111 -214
  413. lusid/models/get_quotes_response.py +130 -244
  414. lusid/models/get_recipe_composer_response.py +95 -0
  415. lusid/models/get_recipe_response.py +77 -183
  416. lusid/models/get_reference_portfolio_constituents_response.py +117 -319
  417. lusid/models/get_structured_result_data_response.py +111 -214
  418. lusid/models/get_virtual_document_response.py +129 -0
  419. lusid/models/group_by_selector_compliance_parameter.py +73 -167
  420. lusid/models/group_by_step.py +83 -201
  421. lusid/models/group_filter_predicate_compliance_parameter.py +73 -167
  422. lusid/models/group_filter_step.py +92 -201
  423. lusid/models/group_of_market_data_key_rules.py +61 -163
  424. lusid/models/grouped_result_of_address_key.py +89 -0
  425. lusid/models/holding_adjustment.py +121 -313
  426. lusid/models/holding_adjustment_with_date.py +124 -345
  427. lusid/models/holding_context.py +51 -127
  428. lusid/models/holding_contributor.py +55 -156
  429. lusid/models/holdings_adjustment.py +92 -257
  430. lusid/models/holdings_adjustment_header.py +82 -225
  431. lusid/models/i_unit_definition_dto.py +85 -217
  432. lusid/models/id_selector_definition.py +75 -227
  433. lusid/models/identifier_part_schema.py +74 -283
  434. lusid/models/index_convention.py +100 -388
  435. lusid/models/index_model_options.py +80 -172
  436. lusid/models/index_projection_dependency.py +80 -275
  437. lusid/models/industry_classifier.py +60 -172
  438. lusid/models/inflation_fixing_dependency.py +78 -237
  439. lusid/models/inflation_index_conventions.py +71 -307
  440. lusid/models/inflation_leg.py +120 -455
  441. lusid/models/inflation_linked_bond.py +153 -601
  442. lusid/models/inflation_swap.py +88 -259
  443. lusid/models/informational_error_event.py +78 -237
  444. lusid/models/informational_event.py +86 -262
  445. lusid/models/inline_valuation_request.py +150 -497
  446. lusid/models/inline_valuations_reconciliation_request.py +82 -216
  447. lusid/models/input_transition.py +53 -160
  448. lusid/models/instrument.py +160 -597
  449. lusid/models/instrument_capabilities.py +133 -0
  450. lusid/models/instrument_cash_flow.py +90 -386
  451. lusid/models/instrument_definition.py +93 -280
  452. lusid/models/instrument_definition_format.py +55 -201
  453. lusid/models/instrument_delete_modes.py +38 -0
  454. lusid/models/instrument_event.py +86 -182
  455. lusid/models/instrument_event_configuration.py +56 -156
  456. lusid/models/instrument_event_holder.py +115 -490
  457. lusid/models/instrument_event_type.py +57 -0
  458. lusid/models/instrument_id_type_descriptor.py +55 -195
  459. lusid/models/instrument_id_value.py +54 -163
  460. lusid/models/instrument_leg.py +82 -143
  461. lusid/models/instrument_list.py +73 -170
  462. lusid/models/instrument_list_compliance_parameter.py +77 -164
  463. lusid/models/instrument_match.py +78 -156
  464. lusid/models/instrument_models.py +78 -184
  465. lusid/models/instrument_payment_diary.py +131 -0
  466. lusid/models/instrument_payment_diary_leg.py +91 -0
  467. lusid/models/instrument_payment_diary_row.py +132 -0
  468. lusid/models/instrument_properties.py +97 -213
  469. lusid/models/instrument_resolution_detail.py +105 -0
  470. lusid/models/instrument_search_property.py +53 -163
  471. lusid/models/instrument_type.py +74 -0
  472. lusid/models/interest_rate_swap.py +110 -322
  473. lusid/models/interest_rate_swaption.py +90 -296
  474. lusid/models/intermediate_compliance_step.py +110 -0
  475. lusid/models/ir_vol_cube_data.py +101 -267
  476. lusid/models/ir_vol_dependency.py +78 -237
  477. lusid/models/is_business_day_response.py +54 -157
  478. lusid/models/journal_entry_line.py +224 -0
  479. lusid/models/journal_entry_lines_query_parameters.py +109 -0
  480. lusid/models/label_value_set.py +51 -129
  481. lusid/models/leg_definition.py +143 -619
  482. lusid/models/legal_entity.py +158 -392
  483. lusid/models/level_step.py +54 -161
  484. lusid/models/life_cycle_event_lineage.py +84 -246
  485. lusid/models/life_cycle_event_value.py +86 -224
  486. lusid/models/lineage_member.py +69 -276
  487. lusid/models/link.py +62 -214
  488. lusid/models/list_aggregation_reconciliation.py +73 -211
  489. lusid/models/list_aggregation_response.py +111 -324
  490. lusid/models/list_complex_market_data_with_meta_data_response.py +86 -0
  491. lusid/models/loan_period.py +56 -187
  492. lusid/models/lock_period_diary_entry_request.py +91 -0
  493. lusid/models/lusid_instrument.py +99 -168
  494. lusid/models/lusid_problem_details.py +95 -327
  495. lusid/models/lusid_trade_ticket.py +155 -639
  496. lusid/models/lusid_unique_id.py +53 -166
  497. lusid/models/lusid_validation_problem_details.py +106 -356
  498. lusid/models/mapped_string.py +72 -209
  499. lusid/models/mapping.py +93 -281
  500. lusid/models/mapping_rule.py +96 -308
  501. lusid/models/market_context.py +111 -243
  502. lusid/models/market_context_suppliers.py +59 -241
  503. lusid/models/market_data_key_rule.py +114 -493
  504. lusid/models/market_data_options.py +73 -141
  505. lusid/models/market_data_options_type.py +37 -0
  506. lusid/models/market_data_overrides.py +79 -156
  507. lusid/models/market_data_specific_rule.py +115 -525
  508. lusid/models/market_data_type.py +50 -0
  509. lusid/models/market_observable_type.py +41 -0
  510. lusid/models/market_options.py +108 -318
  511. lusid/models/market_quote.py +60 -166
  512. lusid/models/match_criterion.py +95 -0
  513. lusid/models/maturity_event.py +74 -167
  514. lusid/models/metric_value.py +58 -155
  515. lusid/models/model_options.py +76 -144
  516. lusid/models/model_options_type.py +43 -0
  517. lusid/models/model_property.py +72 -218
  518. lusid/models/model_schema.py +116 -0
  519. lusid/models/model_selection.py +67 -172
  520. lusid/models/move_orders_to_different_blocks_request.py +59 -134
  521. lusid/models/moved_order_to_different_block_response.py +67 -183
  522. lusid/models/movement_type.py +56 -0
  523. lusid/models/multi_currency_amounts.py +71 -0
  524. lusid/models/next_value_in_sequence_response.py +66 -156
  525. lusid/models/numeric_comparison_type.py +39 -0
  526. lusid/models/opaque_dependency.py +71 -134
  527. lusid/models/opaque_market_data.py +84 -275
  528. lusid/models/opaque_model_options.py +73 -164
  529. lusid/models/open_event.py +74 -166
  530. lusid/models/operand_type.py +38 -0
  531. lusid/models/operation.py +67 -221
  532. lusid/models/operation_type.py +37 -0
  533. lusid/models/operator.py +43 -0
  534. lusid/models/option_entry.py +71 -0
  535. lusid/models/optionality_schedule.py +118 -0
  536. lusid/models/order.py +173 -704
  537. lusid/models/order_by_spec.py +60 -166
  538. lusid/models/order_flow_configuration.py +51 -131
  539. lusid/models/order_graph_block.py +85 -381
  540. lusid/models/order_graph_block_allocation_detail.py +55 -126
  541. lusid/models/order_graph_block_allocation_synopsis.py +61 -160
  542. lusid/models/order_graph_block_execution_detail.py +55 -126
  543. lusid/models/order_graph_block_execution_synopsis.py +61 -160
  544. lusid/models/order_graph_block_order_detail.py +83 -314
  545. lusid/models/order_graph_block_order_synopsis.py +61 -190
  546. lusid/models/order_graph_block_placement_detail.py +55 -126
  547. lusid/models/order_graph_block_placement_synopsis.py +61 -190
  548. lusid/models/order_graph_placement.py +94 -341
  549. lusid/models/order_graph_placement_allocation_detail.py +55 -126
  550. lusid/models/order_graph_placement_allocation_synopsis.py +61 -160
  551. lusid/models/order_graph_placement_child_placement_detail.py +55 -126
  552. lusid/models/order_graph_placement_execution_detail.py +55 -126
  553. lusid/models/order_graph_placement_execution_synopsis.py +61 -160
  554. lusid/models/order_graph_placement_order_detail.py +55 -126
  555. lusid/models/order_graph_placement_order_synopsis.py +59 -128
  556. lusid/models/order_graph_placement_placement_synopsis.py +61 -160
  557. lusid/models/order_instruction.py +157 -0
  558. lusid/models/order_instruction_request.py +127 -0
  559. lusid/models/order_instruction_set_request.py +82 -0
  560. lusid/models/order_request.py +141 -580
  561. lusid/models/order_set_request.py +64 -126
  562. lusid/models/otc_confirmation.py +55 -125
  563. lusid/models/output_transaction.py +189 -905
  564. lusid/models/output_transition.py +77 -281
  565. lusid/models/package.py +132 -0
  566. lusid/models/package_request.py +111 -0
  567. lusid/models/package_set_request.py +82 -0
  568. lusid/models/paged_resource_list_of_abor.py +113 -0
  569. lusid/models/paged_resource_list_of_abor_configuration.py +113 -0
  570. lusid/models/paged_resource_list_of_account.py +113 -0
  571. lusid/models/paged_resource_list_of_address_key_definition.py +95 -238
  572. lusid/models/paged_resource_list_of_allocation.py +95 -238
  573. lusid/models/paged_resource_list_of_block.py +95 -238
  574. lusid/models/paged_resource_list_of_calendar.py +95 -238
  575. lusid/models/paged_resource_list_of_chart_of_accounts.py +113 -0
  576. lusid/models/paged_resource_list_of_cleardown_module_response.py +113 -0
  577. lusid/models/paged_resource_list_of_cleardown_module_rule.py +113 -0
  578. lusid/models/paged_resource_list_of_compliance_rule_response.py +95 -238
  579. lusid/models/paged_resource_list_of_compliance_run_info_v2.py +95 -238
  580. lusid/models/paged_resource_list_of_compliance_template.py +95 -238
  581. lusid/models/paged_resource_list_of_corporate_action_source.py +95 -238
  582. lusid/models/paged_resource_list_of_custodian_account.py +113 -0
  583. lusid/models/paged_resource_list_of_custom_entity_definition.py +95 -238
  584. lusid/models/paged_resource_list_of_custom_entity_response.py +95 -238
  585. lusid/models/paged_resource_list_of_custom_entity_type.py +95 -238
  586. lusid/models/paged_resource_list_of_cut_label_definition.py +95 -238
  587. lusid/models/paged_resource_list_of_data_type_summary.py +95 -238
  588. lusid/models/paged_resource_list_of_dialect_id.py +95 -238
  589. lusid/models/paged_resource_list_of_diary_entry.py +113 -0
  590. lusid/models/paged_resource_list_of_execution.py +95 -238
  591. lusid/models/paged_resource_list_of_fund.py +113 -0
  592. lusid/models/paged_resource_list_of_general_ledger_profile_response.py +113 -0
  593. lusid/models/paged_resource_list_of_instrument.py +95 -238
  594. lusid/models/paged_resource_list_of_instrument_event_holder.py +95 -238
  595. lusid/models/paged_resource_list_of_legal_entity.py +95 -238
  596. lusid/models/paged_resource_list_of_order.py +95 -238
  597. lusid/models/paged_resource_list_of_order_graph_block.py +95 -238
  598. lusid/models/paged_resource_list_of_order_graph_placement.py +95 -238
  599. lusid/models/paged_resource_list_of_order_instruction.py +113 -0
  600. lusid/models/paged_resource_list_of_package.py +113 -0
  601. lusid/models/paged_resource_list_of_participation.py +95 -238
  602. lusid/models/paged_resource_list_of_person.py +95 -238
  603. lusid/models/paged_resource_list_of_placement.py +95 -238
  604. lusid/models/paged_resource_list_of_portfolio_group.py +95 -238
  605. lusid/models/paged_resource_list_of_portfolio_group_search_result.py +95 -238
  606. lusid/models/paged_resource_list_of_portfolio_search_result.py +95 -238
  607. lusid/models/paged_resource_list_of_posting_module_response.py +113 -0
  608. lusid/models/paged_resource_list_of_posting_module_rule.py +113 -0
  609. lusid/models/paged_resource_list_of_property_definition.py +95 -238
  610. lusid/models/paged_resource_list_of_property_definition_search_result.py +95 -238
  611. lusid/models/paged_resource_list_of_reconciliation.py +113 -0
  612. lusid/models/paged_resource_list_of_reference_list_response.py +95 -238
  613. lusid/models/paged_resource_list_of_relationship_definition.py +95 -238
  614. lusid/models/paged_resource_list_of_sequence_definition.py +95 -238
  615. lusid/models/paged_resource_list_of_transaction_template.py +113 -0
  616. lusid/models/paged_resource_list_of_transaction_template_specification.py +113 -0
  617. lusid/models/paged_resource_list_of_translation_script_id.py +95 -238
  618. lusid/models/paged_resource_list_of_virtual_row.py +95 -238
  619. lusid/models/participation.py +86 -243
  620. lusid/models/participation_request.py +65 -186
  621. lusid/models/participation_set_request.py +64 -126
  622. lusid/models/performance_return.py +75 -251
  623. lusid/models/performance_returns_metric.py +83 -309
  624. lusid/models/period_diary_entries_reopened_response.py +104 -0
  625. lusid/models/period_type.py +41 -0
  626. lusid/models/perpetual_entity_state.py +39 -0
  627. lusid/models/perpetual_property.py +57 -157
  628. lusid/models/person.py +137 -363
  629. lusid/models/place_blocks_request.py +59 -134
  630. lusid/models/placement.py +161 -696
  631. lusid/models/placement_request.py +136 -614
  632. lusid/models/placement_set_request.py +64 -126
  633. lusid/models/portfolio.py +200 -744
  634. lusid/models/portfolio_cash_flow.py +139 -591
  635. lusid/models/portfolio_cash_ladder.py +116 -248
  636. lusid/models/portfolio_details.py +143 -547
  637. lusid/models/portfolio_entity_id.py +90 -214
  638. lusid/models/portfolio_group.py +138 -400
  639. lusid/models/portfolio_group_id_compliance_parameter.py +77 -164
  640. lusid/models/portfolio_group_id_list.py +81 -167
  641. lusid/models/portfolio_group_id_list_compliance_parameter.py +77 -164
  642. lusid/models/portfolio_group_properties.py +97 -213
  643. lusid/models/portfolio_group_search_result.py +123 -370
  644. lusid/models/portfolio_holding.py +167 -674
  645. lusid/models/portfolio_id_compliance_parameter.py +77 -164
  646. lusid/models/portfolio_id_list.py +81 -167
  647. lusid/models/portfolio_id_list_compliance_parameter.py +77 -164
  648. lusid/models/portfolio_properties.py +97 -242
  649. lusid/models/portfolio_reconciliation_request.py +65 -192
  650. lusid/models/portfolio_result_data_key_rule.py +133 -392
  651. lusid/models/portfolio_return_breakdown.py +109 -492
  652. lusid/models/portfolio_search_result.py +128 -440
  653. lusid/models/portfolio_trade_ticket.py +79 -0
  654. lusid/models/portfolio_type.py +39 -0
  655. lusid/models/portfolios_reconciliation_request.py +62 -188
  656. lusid/models/posting_module_details.py +95 -0
  657. lusid/models/posting_module_request.py +117 -0
  658. lusid/models/posting_module_response.py +139 -0
  659. lusid/models/posting_module_rule.py +119 -0
  660. lusid/models/posting_module_rules_updated_response.py +110 -0
  661. lusid/models/premium.py +56 -193
  662. lusid/models/pricing_context.py +105 -244
  663. lusid/models/pricing_model.py +55 -0
  664. lusid/models/pricing_options.py +80 -463
  665. lusid/models/processed_command.py +67 -224
  666. lusid/models/property_definition.py +234 -763
  667. lusid/models/property_definition_search_result.py +202 -646
  668. lusid/models/property_definition_type.py +38 -0
  669. lusid/models/property_domain.py +75 -0
  670. lusid/models/property_filter.py +87 -228
  671. lusid/models/property_interval.py +68 -221
  672. lusid/models/property_key_compliance_parameter.py +73 -166
  673. lusid/models/property_key_list_compliance_parameter.py +77 -164
  674. lusid/models/property_life_time.py +38 -0
  675. lusid/models/property_schema.py +91 -180
  676. lusid/models/property_type.py +39 -0
  677. lusid/models/property_value.py +68 -184
  678. lusid/models/property_value_equals.py +93 -0
  679. lusid/models/property_value_in.py +93 -0
  680. lusid/models/query_bucketed_cash_flows_request.py +145 -636
  681. lusid/models/query_cash_flows_request.py +96 -0
  682. lusid/models/query_instrument_events_request.py +113 -0
  683. lusid/models/query_trade_tickets_request.py +96 -0
  684. lusid/models/quote.py +87 -313
  685. lusid/models/quote_access_metadata_rule.py +92 -0
  686. lusid/models/quote_access_metadata_rule_id.py +129 -0
  687. lusid/models/quote_dependency.py +78 -240
  688. lusid/models/quote_id.py +57 -161
  689. lusid/models/quote_instrument_id_type.py +45 -0
  690. lusid/models/quote_series_id.py +96 -307
  691. lusid/models/quote_type.py +50 -0
  692. lusid/models/raw_vendor_event.py +82 -232
  693. lusid/models/re_open_period_diary_entry_request.py +84 -0
  694. lusid/models/realised_gain_loss.py +115 -462
  695. lusid/models/recipe_block.py +87 -0
  696. lusid/models/recipe_composer.py +100 -0
  697. lusid/models/recipe_value.py +87 -0
  698. lusid/models/recombine_step.py +83 -201
  699. lusid/models/reconcile_date_time_rule.py +88 -233
  700. lusid/models/reconcile_numeric_rule.py +88 -233
  701. lusid/models/reconcile_string_rule.py +102 -232
  702. lusid/models/reconciled_transaction.py +69 -215
  703. lusid/models/reconciliation.py +165 -0
  704. lusid/models/reconciliation_break.py +105 -411
  705. lusid/models/reconciliation_configuration.py +84 -0
  706. lusid/models/reconciliation_id.py +80 -0
  707. lusid/models/reconciliation_left_right_address_key_pair.py +53 -160
  708. lusid/models/reconciliation_line.py +77 -216
  709. lusid/models/reconciliation_request.py +97 -246
  710. lusid/models/reconciliation_response.py +70 -155
  711. lusid/models/reconciliation_rule.py +74 -143
  712. lusid/models/reconciliation_rule_type.py +40 -0
  713. lusid/models/reconciliation_side_configuration.py +94 -0
  714. lusid/models/reconciliation_transactions.py +79 -0
  715. lusid/models/reference_data.py +69 -156
  716. lusid/models/reference_instrument.py +77 -239
  717. lusid/models/reference_list.py +77 -148
  718. lusid/models/reference_list_request.py +77 -251
  719. lusid/models/reference_list_response.py +98 -309
  720. lusid/models/reference_list_type.py +42 -0
  721. lusid/models/reference_portfolio_constituent.py +96 -307
  722. lusid/models/reference_portfolio_constituent_request.py +80 -214
  723. lusid/models/reference_portfolio_weight_type.py +39 -0
  724. lusid/models/related_entity.py +105 -349
  725. lusid/models/relation.py +70 -281
  726. lusid/models/relation_definition.py +143 -0
  727. lusid/models/relationship.py +76 -318
  728. lusid/models/relationship_definition.py +111 -446
  729. lusid/models/relative_date_offset.py +53 -193
  730. lusid/models/repo.py +136 -476
  731. lusid/models/reset_event.py +90 -262
  732. lusid/models/resource_id.py +53 -172
  733. lusid/models/resource_list_of_access_controlled_resource.py +95 -238
  734. lusid/models/resource_list_of_access_metadata_value_of.py +100 -238
  735. lusid/models/resource_list_of_address_key_definition.py +95 -238
  736. lusid/models/resource_list_of_aggregated_return.py +95 -238
  737. lusid/models/resource_list_of_aggregation_query.py +95 -238
  738. lusid/models/resource_list_of_allocation.py +95 -238
  739. lusid/models/resource_list_of_block.py +95 -238
  740. lusid/models/resource_list_of_block_and_orders.py +95 -238
  741. lusid/models/resource_list_of_calendar_date.py +95 -238
  742. lusid/models/resource_list_of_change.py +95 -238
  743. lusid/models/resource_list_of_change_history.py +95 -238
  744. lusid/models/resource_list_of_compliance_breached_order_info.py +113 -0
  745. lusid/models/resource_list_of_compliance_rule.py +113 -0
  746. lusid/models/resource_list_of_compliance_rule_result.py +113 -0
  747. lusid/models/resource_list_of_compliance_run_info.py +113 -0
  748. lusid/models/resource_list_of_constituents_adjustment_header.py +95 -238
  749. lusid/models/resource_list_of_corporate_action.py +95 -238
  750. lusid/models/resource_list_of_data_type.py +95 -238
  751. lusid/models/resource_list_of_execution.py +95 -238
  752. lusid/models/resource_list_of_fee_rule.py +113 -0
  753. lusid/models/resource_list_of_get_cds_flow_conventions_response.py +113 -0
  754. lusid/models/resource_list_of_get_counterparty_agreement_response.py +95 -238
  755. lusid/models/resource_list_of_get_credit_support_annex_response.py +95 -238
  756. lusid/models/resource_list_of_get_flow_conventions_response.py +113 -0
  757. lusid/models/resource_list_of_get_index_convention_response.py +113 -0
  758. lusid/models/resource_list_of_get_recipe_composer_response.py +113 -0
  759. lusid/models/resource_list_of_get_recipe_response.py +95 -238
  760. lusid/models/resource_list_of_holdings_adjustment_header.py +95 -238
  761. lusid/models/resource_list_of_i_unit_definition_dto.py +95 -238
  762. lusid/models/resource_list_of_instrument_cash_flow.py +95 -238
  763. lusid/models/resource_list_of_instrument_event_holder.py +113 -0
  764. lusid/models/resource_list_of_instrument_id_type_descriptor.py +95 -238
  765. lusid/models/resource_list_of_legal_entity.py +95 -238
  766. lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +113 -0
  767. lusid/models/resource_list_of_mapping.py +95 -238
  768. lusid/models/resource_list_of_moved_order_to_different_block_response.py +95 -238
  769. lusid/models/resource_list_of_order.py +95 -238
  770. lusid/models/resource_list_of_order_instruction.py +113 -0
  771. lusid/models/resource_list_of_package.py +113 -0
  772. lusid/models/resource_list_of_participation.py +95 -238
  773. lusid/models/resource_list_of_performance_return.py +95 -238
  774. lusid/models/resource_list_of_person.py +95 -238
  775. lusid/models/resource_list_of_placement.py +95 -238
  776. lusid/models/resource_list_of_portfolio.py +95 -238
  777. lusid/models/resource_list_of_portfolio_cash_flow.py +95 -238
  778. lusid/models/resource_list_of_portfolio_cash_ladder.py +95 -238
  779. lusid/models/resource_list_of_portfolio_trade_ticket.py +113 -0
  780. lusid/models/resource_list_of_processed_command.py +95 -238
  781. lusid/models/resource_list_of_property.py +95 -238
  782. lusid/models/resource_list_of_property_definition.py +95 -238
  783. lusid/models/resource_list_of_property_interval.py +95 -238
  784. lusid/models/resource_list_of_quote.py +95 -238
  785. lusid/models/resource_list_of_quote_access_metadata_rule.py +113 -0
  786. lusid/models/resource_list_of_reconciliation_break.py +95 -238
  787. lusid/models/resource_list_of_relation.py +95 -238
  788. lusid/models/resource_list_of_relationship.py +95 -238
  789. lusid/models/resource_list_of_scope_definition.py +95 -238
  790. lusid/models/resource_list_of_side_definition.py +95 -238
  791. lusid/models/resource_list_of_string.py +87 -238
  792. lusid/models/resource_list_of_tax_rule_set.py +113 -0
  793. lusid/models/resource_list_of_transaction.py +95 -238
  794. lusid/models/resource_list_of_transaction_type.py +95 -238
  795. lusid/models/resource_list_of_value_type.py +88 -238
  796. lusid/models/response_meta_data.py +77 -216
  797. lusid/models/result_data_key_rule.py +103 -389
  798. lusid/models/result_data_schema.py +108 -184
  799. lusid/models/result_key_rule.py +74 -143
  800. lusid/models/result_key_rule_type.py +39 -0
  801. lusid/models/result_value.py +80 -149
  802. lusid/models/result_value0_d.py +87 -225
  803. lusid/models/result_value_bool.py +73 -165
  804. lusid/models/result_value_currency.py +78 -164
  805. lusid/models/result_value_date_time_offset.py +81 -196
  806. lusid/models/result_value_decimal.py +80 -195
  807. lusid/models/result_value_dictionary.py +89 -163
  808. lusid/models/result_value_int.py +80 -195
  809. lusid/models/result_value_string.py +78 -164
  810. lusid/models/result_value_type.py +48 -0
  811. lusid/models/rounding_configuration.py +55 -125
  812. lusid/models/rounding_configuration_component.py +51 -131
  813. lusid/models/rounding_convention.py +67 -218
  814. lusid/models/scaling_methodology.py +39 -0
  815. lusid/models/schedule.py +78 -143
  816. lusid/models/schedule_type.py +44 -0
  817. lusid/models/scope_definition.py +51 -131
  818. lusid/models/script_map_reference.py +76 -219
  819. lusid/models/security_election.py +68 -252
  820. lusid/models/sequence_definition.py +94 -374
  821. lusid/models/set_legal_entity_identifiers_request.py +69 -126
  822. lusid/models/set_legal_entity_properties_request.py +69 -126
  823. lusid/models/set_person_identifiers_request.py +69 -126
  824. lusid/models/set_person_properties_request.py +64 -128
  825. lusid/models/set_transaction_configuration_alias.py +84 -0
  826. lusid/models/set_transaction_configuration_source_request.py +107 -0
  827. lusid/models/side_configuration_data.py +76 -334
  828. lusid/models/side_configuration_data_request.py +79 -0
  829. lusid/models/side_definition.py +83 -388
  830. lusid/models/side_definition_request.py +66 -322
  831. lusid/models/sides_definition_request.py +57 -164
  832. lusid/models/simple_cash_flow_loan.py +88 -263
  833. lusid/models/simple_instrument.py +94 -301
  834. lusid/models/sort_order.py +38 -0
  835. lusid/models/step_schedule.py +85 -236
  836. lusid/models/stock_split_event.py +78 -349
  837. lusid/models/stream.py +70 -328
  838. lusid/models/string_comparison_type.py +41 -0
  839. lusid/models/string_compliance_parameter.py +73 -167
  840. lusid/models/string_list.py +73 -170
  841. lusid/models/string_list_compliance_parameter.py +77 -164
  842. lusid/models/structured_result_data.py +73 -267
  843. lusid/models/structured_result_data_id.py +89 -236
  844. lusid/models/sub_holding_key_value_equals.py +93 -0
  845. lusid/models/target_tax_lot.py +86 -368
  846. lusid/models/target_tax_lot_request.py +86 -368
  847. lusid/models/tax_rule.py +97 -0
  848. lusid/models/tax_rule_set.py +124 -0
  849. lusid/models/template_field.py +77 -0
  850. lusid/models/term_deposit.py +93 -323
  851. lusid/models/total_return_swap.py +88 -259
  852. lusid/models/touch.py +62 -228
  853. lusid/models/trade_ticket.py +76 -0
  854. lusid/models/trade_ticket_type.py +38 -0
  855. lusid/models/transaction.py +181 -812
  856. lusid/models/transaction_configuration_data.py +89 -190
  857. lusid/models/transaction_configuration_data_request.py +89 -190
  858. lusid/models/transaction_configuration_movement_data.py +110 -320
  859. lusid/models/transaction_configuration_movement_data_request.py +110 -320
  860. lusid/models/transaction_configuration_type_alias.py +90 -339
  861. lusid/models/transaction_currency_and_amount.py +81 -0
  862. lusid/models/transaction_field_map.py +97 -0
  863. lusid/models/transaction_price.py +63 -162
  864. lusid/models/transaction_price_and_type.py +81 -0
  865. lusid/models/transaction_price_type.py +40 -0
  866. lusid/models/transaction_property_map.py +80 -0
  867. lusid/models/transaction_property_mapping.py +65 -188
  868. lusid/models/transaction_property_mapping_request.py +65 -188
  869. lusid/models/transaction_query_mode.py +38 -0
  870. lusid/models/transaction_query_parameters.py +67 -234
  871. lusid/models/transaction_reconciliation_request.py +84 -302
  872. lusid/models/transaction_reconciliation_request_v2.py +115 -0
  873. lusid/models/transaction_request.py +143 -661
  874. lusid/models/transaction_roles.py +44 -0
  875. lusid/models/transaction_set_configuration_data.py +89 -186
  876. lusid/models/transaction_set_configuration_data_request.py +92 -0
  877. lusid/models/transaction_status.py +39 -0
  878. lusid/models/transaction_template.py +100 -0
  879. lusid/models/transaction_template_request.py +79 -0
  880. lusid/models/transaction_template_specification.py +99 -0
  881. lusid/models/transaction_type.py +119 -248
  882. lusid/models/transaction_type_alias.py +73 -282
  883. lusid/models/transaction_type_calculation.py +60 -206
  884. lusid/models/transaction_type_movement.py +128 -405
  885. lusid/models/transaction_type_property_mapping.py +75 -197
  886. lusid/models/transaction_type_request.py +104 -220
  887. lusid/models/transactions_reconciliations_response.py +70 -155
  888. lusid/models/transition_event.py +101 -318
  889. lusid/models/translate_entities_inlined_request.py +72 -195
  890. lusid/models/translate_entities_request.py +76 -187
  891. lusid/models/translate_entities_response.py +104 -184
  892. lusid/models/translate_instrument_definitions_request.py +91 -0
  893. lusid/models/translate_instrument_definitions_response.py +129 -0
  894. lusid/models/translate_trade_ticket_request.py +91 -0
  895. lusid/models/translate_trade_tickets_response.py +129 -0
  896. lusid/models/translation_context.py +57 -154
  897. lusid/models/translation_input.py +51 -134
  898. lusid/models/translation_result.py +66 -163
  899. lusid/models/translation_script.py +63 -193
  900. lusid/models/translation_script_id.py +76 -219
  901. lusid/models/trial_balance.py +138 -0
  902. lusid/models/trial_balance_query_parameters.py +111 -0
  903. lusid/models/trigger_event.py +82 -301
  904. lusid/models/typed_resource_id.py +76 -219
  905. lusid/models/unit_schema.py +39 -0
  906. lusid/models/units_ratio.py +53 -160
  907. lusid/models/unmatched_holding_method.py +38 -0
  908. lusid/models/update_calendar_request.py +74 -195
  909. lusid/models/update_custom_entity_definition_request.py +77 -204
  910. lusid/models/update_custom_entity_type_request.py +77 -204
  911. lusid/models/update_cut_label_definition_request.py +83 -226
  912. lusid/models/update_data_type_request.py +105 -234
  913. lusid/models/update_derived_property_definition_request.py +66 -229
  914. lusid/models/update_instrument_identifier_request.py +65 -191
  915. lusid/models/update_portfolio_group_request.py +58 -161
  916. lusid/models/update_portfolio_request.py +58 -161
  917. lusid/models/update_property_definition_request.py +58 -164
  918. lusid/models/update_reconciliation_request.py +131 -0
  919. lusid/models/update_relationship_definition_request.py +76 -219
  920. lusid/models/update_tax_rule_set_request.py +95 -0
  921. lusid/models/update_unit_request.py +100 -207
  922. lusid/models/upsert_cds_flow_conventions_request.py +73 -0
  923. lusid/models/upsert_complex_market_data_request.py +61 -156
  924. lusid/models/upsert_compliance_rule_request.py +113 -380
  925. lusid/models/upsert_compliance_run_summary_request.py +72 -250
  926. lusid/models/upsert_compliance_run_summary_result.py +72 -250
  927. lusid/models/upsert_corporate_action_request.py +94 -337
  928. lusid/models/upsert_corporate_actions_response.py +111 -214
  929. lusid/models/upsert_counterparty_agreement_request.py +55 -126
  930. lusid/models/upsert_credit_support_annex_request.py +55 -125
  931. lusid/models/upsert_custom_entities_response.py +111 -244
  932. lusid/models/upsert_custom_entity_access_metadata_request.py +64 -126
  933. lusid/models/upsert_dialect_request.py +61 -156
  934. lusid/models/upsert_flow_conventions_request.py +73 -0
  935. lusid/models/upsert_index_convention_request.py +73 -0
  936. lusid/models/upsert_instrument_event_request.py +107 -329
  937. lusid/models/upsert_instrument_events_response.py +111 -214
  938. lusid/models/upsert_instrument_properties_response.py +67 -157
  939. lusid/models/upsert_instrument_property_request.py +68 -196
  940. lusid/models/upsert_instruments_response.py +135 -274
  941. lusid/models/upsert_legal_entities_response.py +111 -214
  942. lusid/models/upsert_legal_entity_access_metadata_request.py +64 -126
  943. lusid/models/upsert_legal_entity_request.py +115 -267
  944. lusid/models/upsert_person_access_metadata_request.py +64 -126
  945. lusid/models/upsert_person_request.py +92 -232
  946. lusid/models/upsert_portfolio_access_metadata_request.py +59 -128
  947. lusid/models/upsert_portfolio_group_access_metadata_request.py +59 -128
  948. lusid/models/upsert_portfolio_transactions_response.py +101 -214
  949. lusid/models/upsert_quote_access_metadata_rule_request.py +92 -0
  950. lusid/models/upsert_quote_request.py +75 -215
  951. lusid/models/upsert_quotes_response.py +111 -214
  952. lusid/models/upsert_recipe_composer_request.py +73 -0
  953. lusid/models/upsert_recipe_request.py +55 -125
  954. lusid/models/upsert_reference_portfolio_constituents_request.py +94 -265
  955. lusid/models/upsert_reference_portfolio_constituents_response.py +77 -181
  956. lusid/models/upsert_result_values_data_request.py +93 -0
  957. lusid/models/upsert_returns_response.py +100 -245
  958. lusid/models/upsert_single_structured_data_response.py +74 -186
  959. lusid/models/upsert_structured_data_response.py +99 -215
  960. lusid/models/upsert_structured_result_data_request.py +61 -155
  961. lusid/models/upsert_transaction_properties_response.py +97 -211
  962. lusid/models/upsert_translation_script_request.py +57 -164
  963. lusid/models/user.py +56 -126
  964. lusid/models/valuation_request.py +156 -528
  965. lusid/models/valuation_schedule.py +93 -329
  966. lusid/models/valuations_reconciliation_request.py +82 -216
  967. lusid/models/value_type.py +34 -116
  968. lusid/models/vendor_dependency.py +95 -0
  969. lusid/models/vendor_library.py +43 -0
  970. lusid/models/vendor_model_rule.py +97 -335
  971. lusid/models/version.py +110 -431
  972. lusid/models/version_summary_dto.py +85 -208
  973. lusid/models/versioned_resource_list_of_a2_b_data_record.py +101 -268
  974. lusid/models/versioned_resource_list_of_a2_b_movement_record.py +101 -268
  975. lusid/models/versioned_resource_list_of_holding_contributor.py +101 -268
  976. lusid/models/versioned_resource_list_of_journal_entry_line.py +119 -0
  977. lusid/models/versioned_resource_list_of_output_transaction.py +101 -268
  978. lusid/models/versioned_resource_list_of_portfolio_holding.py +101 -268
  979. lusid/models/versioned_resource_list_of_transaction.py +101 -268
  980. lusid/models/versioned_resource_list_of_trial_balance.py +119 -0
  981. lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +134 -0
  982. lusid/models/virtual_document.py +88 -0
  983. lusid/models/virtual_document_row.py +80 -0
  984. lusid/models/virtual_row.py +76 -156
  985. lusid/models/warning.py +71 -0
  986. lusid/models/weekend_mask.py +61 -165
  987. lusid/models/weighted_instrument.py +75 -256
  988. lusid/models/weighted_instrument_in_line_lookup_identifiers.py +71 -415
  989. lusid/models/weighted_instruments.py +59 -128
  990. lusid/models/yield_curve_data.py +107 -296
  991. lusid/py.typed +0 -0
  992. lusid/rest.py +171 -237
  993. lusid_sdk-2.0.430.dist-info/METADATA +1639 -0
  994. lusid_sdk-2.0.430.dist-info/RECORD +995 -0
  995. {lusid_sdk-1.1.257.dist-info → lusid_sdk-2.0.430.dist-info}/WHEEL +1 -2
  996. lusid/__version__.py +0 -1
  997. lusid/api/queryable_keys_api.py +0 -196
  998. lusid/models/accumulation_event_all_of.py +0 -310
  999. lusid/models/address_key_compliance_parameter_all_of.py +0 -184
  1000. lusid/models/address_key_list_all_of.py +0 -188
  1001. lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
  1002. lusid/models/amortisation_event_all_of.py +0 -283
  1003. lusid/models/basket_all_of.py +0 -247
  1004. lusid/models/batch_upsert_dates_for_calendar_response.py +0 -232
  1005. lusid/models/batch_upsert_portfolio_access_metadata_request.py +0 -174
  1006. lusid/models/batch_upsert_portfolio_access_metadata_response.py +0 -202
  1007. lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +0 -174
  1008. lusid/models/bond_all_of.py +0 -587
  1009. lusid/models/bond_coupon_event_all_of.py +0 -278
  1010. lusid/models/bond_default_event_all_of.py +0 -184
  1011. lusid/models/bond_principal_event_all_of.py +0 -278
  1012. lusid/models/bonus_issue_event.py +0 -426
  1013. lusid/models/bonus_issue_event_all_of.py +0 -426
  1014. lusid/models/bool_compliance_parameter_all_of.py +0 -182
  1015. lusid/models/branch_step_all_of.py +0 -219
  1016. lusid/models/branch_step_request.py +0 -193
  1017. lusid/models/branch_step_request_all_of.py +0 -193
  1018. lusid/models/calendar_dependency_all_of.py +0 -184
  1019. lusid/models/call_on_intermediate_securities_event.py +0 -400
  1020. lusid/models/call_on_intermediate_securities_event_all_of.py +0 -400
  1021. lusid/models/cancel_order_and_move_remaining_result.py +0 -201
  1022. lusid/models/cancel_orders_and_move_remaining_request.py +0 -204
  1023. lusid/models/cancel_orders_and_move_remaining_response.py +0 -262
  1024. lusid/models/cancel_orders_response.py +0 -262
  1025. lusid/models/cancel_placements_response.py +0 -262
  1026. lusid/models/cancelled_order_result.py +0 -143
  1027. lusid/models/cancelled_placement_result.py +0 -175
  1028. lusid/models/cap_floor_all_of.py +0 -313
  1029. lusid/models/capital_distribution_event.py +0 -308
  1030. lusid/models/capital_distribution_event_all_of.py +0 -308
  1031. lusid/models/cash.py +0 -216
  1032. lusid/models/cash_all_of.py +0 -216
  1033. lusid/models/cash_and_security_offer_election.py +0 -335
  1034. lusid/models/cash_dependency_all_of.py +0 -216
  1035. lusid/models/cash_dividend_event_all_of.py +0 -308
  1036. lusid/models/cash_flow_event_all_of.py +0 -217
  1037. lusid/models/cash_flow_value_all_of.py +0 -306
  1038. lusid/models/cash_flow_value_set_all_of.py +0 -182
  1039. lusid/models/cash_offer_election.py +0 -275
  1040. lusid/models/cash_perpetual_all_of.py +0 -248
  1041. lusid/models/cds_credit_event.py +0 -244
  1042. lusid/models/cds_credit_event_all_of.py +0 -244
  1043. lusid/models/cds_index_all_of.py +0 -399
  1044. lusid/models/cdx_credit_event.py +0 -306
  1045. lusid/models/cdx_credit_event_all_of.py +0 -306
  1046. lusid/models/check_step_all_of.py +0 -251
  1047. lusid/models/check_step_request.py +0 -193
  1048. lusid/models/close_event_all_of.py +0 -214
  1049. lusid/models/complex_bond_all_of.py +0 -344
  1050. lusid/models/compliance_rule_template.py +0 -329
  1051. lusid/models/compliance_run_configuration.py +0 -144
  1052. lusid/models/compliance_run_summary.py +0 -267
  1053. lusid/models/compliance_step_request.py +0 -167
  1054. lusid/models/compliance_template_variation_dto.py +0 -290
  1055. lusid/models/compliance_template_variation_request.py +0 -290
  1056. lusid/models/configuration_recipe_snippet.py +0 -372
  1057. lusid/models/constant_volatility_surface_all_of.py +0 -285
  1058. lusid/models/contract_for_difference_all_of.py +0 -478
  1059. lusid/models/create_compliance_template_request.py +0 -228
  1060. lusid/models/credit_default_swap_all_of.py +0 -401
  1061. lusid/models/credit_premium_cash_flow_event.py +0 -278
  1062. lusid/models/credit_premium_cash_flow_event_all_of.py +0 -278
  1063. lusid/models/credit_spread_curve_data_all_of.py +0 -437
  1064. lusid/models/date_time_compliance_parameter_all_of.py +0 -182
  1065. lusid/models/decimal_compliance_parameter_all_of.py +0 -182
  1066. lusid/models/decimal_list_all_of.py +0 -188
  1067. lusid/models/discount_factor_curve_data_all_of.py +0 -313
  1068. lusid/models/discounting_dependency_all_of.py +0 -216
  1069. lusid/models/dividend_option_event_all_of.py +0 -371
  1070. lusid/models/empty_model_options_all_of.py +0 -152
  1071. lusid/models/equity_all_of.py +0 -243
  1072. lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
  1073. lusid/models/equity_curve_dependency_all_of.py +0 -298
  1074. lusid/models/equity_model_options_all_of.py +0 -187
  1075. lusid/models/equity_option_all_of.py +0 -590
  1076. lusid/models/equity_swap_all_of.py +0 -504
  1077. lusid/models/equity_vol_dependency_all_of.py +0 -292
  1078. lusid/models/equity_vol_surface_data_all_of.py +0 -284
  1079. lusid/models/exchange_traded_option_all_of.py +0 -278
  1080. lusid/models/exercise_event_all_of.py +0 -245
  1081. lusid/models/exotic_instrument_all_of.py +0 -217
  1082. lusid/models/expiry_event.py +0 -184
  1083. lusid/models/expiry_event_all_of.py +0 -184
  1084. lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
  1085. lusid/models/filter_step_request.py +0 -193
  1086. lusid/models/fixed_leg_all_of.py +0 -304
  1087. lusid/models/flexible_loan_all_of.py +0 -280
  1088. lusid/models/floating_leg_all_of.py +0 -366
  1089. lusid/models/forward_rate_agreement_all_of.py +0 -373
  1090. lusid/models/fund_id_list.py +0 -185
  1091. lusid/models/fund_id_list_all_of.py +0 -185
  1092. lusid/models/fund_share_class_all_of.py +0 -354
  1093. lusid/models/funding_leg_all_of.py +0 -276
  1094. lusid/models/future_all_of.py +0 -405
  1095. lusid/models/future_expiry_event.py +0 -246
  1096. lusid/models/future_expiry_event_all_of.py +0 -246
  1097. lusid/models/fx_dependency_all_of.py +0 -248
  1098. lusid/models/fx_forward_all_of.py +0 -498
  1099. lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
  1100. lusid/models/fx_forward_curve_data_all_of.py +0 -377
  1101. lusid/models/fx_forward_model_options_all_of.py +0 -260
  1102. lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
  1103. lusid/models/fx_forward_settlement_event_all_of.py +0 -524
  1104. lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
  1105. lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
  1106. lusid/models/fx_forwards_dependency_all_of.py +0 -286
  1107. lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
  1108. lusid/models/fx_option_all_of.py +0 -646
  1109. lusid/models/fx_swap_all_of.py +0 -242
  1110. lusid/models/fx_vol_dependency_all_of.py +0 -286
  1111. lusid/models/group_by_step_request.py +0 -193
  1112. lusid/models/group_calculation_compliance_parameter.py +0 -185
  1113. lusid/models/group_filter_step_all_of.py +0 -219
  1114. lusid/models/group_filter_step_request.py +0 -193
  1115. lusid/models/holding_ids_request.py +0 -149
  1116. lusid/models/holding_pricing_info.py +0 -234
  1117. lusid/models/index_model_options_all_of.py +0 -190
  1118. lusid/models/index_projection_dependency_all_of.py +0 -292
  1119. lusid/models/inflation_fixing_dependency_all_of.py +0 -254
  1120. lusid/models/inflation_leg_all_of.py +0 -472
  1121. lusid/models/inflation_linked_bond_all_of.py +0 -618
  1122. lusid/models/inflation_swap_all_of.py +0 -276
  1123. lusid/models/informational_error_event_all_of.py +0 -254
  1124. lusid/models/informational_event_all_of.py +0 -279
  1125. lusid/models/instrument_event_instruction.py +0 -380
  1126. lusid/models/instrument_event_instruction_request.py +0 -279
  1127. lusid/models/instrument_event_instructions_response.py +0 -174
  1128. lusid/models/instrument_leg_all_of.py +0 -152
  1129. lusid/models/instrument_list_all_of.py +0 -188
  1130. lusid/models/interest_rate_swap_all_of.py +0 -339
  1131. lusid/models/interest_rate_swaption_all_of.py +0 -313
  1132. lusid/models/intermediate_securities_distribution_event.py +0 -426
  1133. lusid/models/intermediate_securities_distribution_event_all_of.py +0 -426
  1134. lusid/models/ir_vol_cube_data_all_of.py +0 -284
  1135. lusid/models/ir_vol_dependency_all_of.py +0 -254
  1136. lusid/models/lapse_election.py +0 -211
  1137. lusid/models/life_cycle_event_value_all_of.py +0 -241
  1138. lusid/models/loan_facility.py +0 -292
  1139. lusid/models/loan_facility_all_of.py +0 -292
  1140. lusid/models/look_up_pricing_model_options.py +0 -216
  1141. lusid/models/look_up_pricing_model_options_all_of.py +0 -216
  1142. lusid/models/mastered_instrument.py +0 -364
  1143. lusid/models/mastered_instrument_all_of.py +0 -364
  1144. lusid/models/maturity_event_all_of.py +0 -184
  1145. lusid/models/mbs_coupon_event.py +0 -278
  1146. lusid/models/mbs_coupon_event_all_of.py +0 -278
  1147. lusid/models/mbs_interest_deferral_event.py +0 -278
  1148. lusid/models/mbs_interest_deferral_event_all_of.py +0 -278
  1149. lusid/models/mbs_interest_shortfall_event.py +0 -278
  1150. lusid/models/mbs_interest_shortfall_event_all_of.py +0 -278
  1151. lusid/models/mbs_principal_event.py +0 -278
  1152. lusid/models/mbs_principal_event_all_of.py +0 -278
  1153. lusid/models/mbs_principal_write_off_event.py +0 -278
  1154. lusid/models/mbs_principal_write_off_event_all_of.py +0 -278
  1155. lusid/models/merger_event.py +0 -456
  1156. lusid/models/merger_event_all_of.py +0 -456
  1157. lusid/models/new_instrument.py +0 -236
  1158. lusid/models/opaque_dependency_all_of.py +0 -152
  1159. lusid/models/opaque_market_data_all_of.py +0 -293
  1160. lusid/models/opaque_model_options_all_of.py +0 -182
  1161. lusid/models/open_event_all_of.py +0 -183
  1162. lusid/models/option_exercise_cash_event.py +0 -500
  1163. lusid/models/option_exercise_cash_event_all_of.py +0 -500
  1164. lusid/models/option_exercise_election.py +0 -211
  1165. lusid/models/option_exercise_physical_event.py +0 -530
  1166. lusid/models/option_exercise_physical_event_all_of.py +0 -530
  1167. lusid/models/order_graph_block_transaction_detail.py +0 -149
  1168. lusid/models/order_graph_block_transaction_synopsis.py +0 -178
  1169. lusid/models/order_update_request.py +0 -320
  1170. lusid/models/paged_resource_list_of_instrument_event_instruction.py +0 -256
  1171. lusid/models/percent_check_step.py +0 -251
  1172. lusid/models/percent_check_step_request.py +0 -193
  1173. lusid/models/placement_update_request.py +0 -306
  1174. lusid/models/portfolio_group_id_list_all_of.py +0 -185
  1175. lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
  1176. lusid/models/pre_trade_configuration.py +0 -149
  1177. lusid/models/property_key_compliance_parameter_all_of.py +0 -184
  1178. lusid/models/property_list.py +0 -188
  1179. lusid/models/property_list_all_of.py +0 -188
  1180. lusid/models/property_list_compliance_parameter.py +0 -182
  1181. lusid/models/protection_payout_cash_flow_event.py +0 -278
  1182. lusid/models/queryable_key.py +0 -508
  1183. lusid/models/quote_dependency_all_of.py +0 -257
  1184. lusid/models/raw_vendor_event_all_of.py +0 -249
  1185. lusid/models/reconcile_date_time_rule_all_of.py +0 -251
  1186. lusid/models/reconcile_numeric_rule_all_of.py +0 -251
  1187. lusid/models/reconcile_string_rule_all_of.py +0 -250
  1188. lusid/models/reference_instrument_all_of.py +0 -257
  1189. lusid/models/repo_all_of.py +0 -493
  1190. lusid/models/reset_event_all_of.py +0 -279
  1191. lusid/models/resource_list_of_output_transaction.py +0 -256
  1192. lusid/models/resource_list_of_queryable_key.py +0 -256
  1193. lusid/models/result_data_key_rule_all_of.py +0 -406
  1194. lusid/models/result_value0_d_all_of.py +0 -243
  1195. lusid/models/result_value_bool_all_of.py +0 -183
  1196. lusid/models/result_value_currency_all_of.py +0 -182
  1197. lusid/models/result_value_date_time_offset_all_of.py +0 -213
  1198. lusid/models/result_value_decimal_all_of.py +0 -213
  1199. lusid/models/result_value_dictionary_all_of.py +0 -182
  1200. lusid/models/result_value_int_all_of.py +0 -213
  1201. lusid/models/result_value_string_all_of.py +0 -182
  1202. lusid/models/return_zero_pv_options.py +0 -145
  1203. lusid/models/reverse_stock_split_event.py +0 -366
  1204. lusid/models/reverse_stock_split_event_all_of.py +0 -366
  1205. lusid/models/schema.py +0 -226
  1206. lusid/models/scrip_dividend_event.py +0 -366
  1207. lusid/models/scrip_dividend_event_all_of.py +0 -366
  1208. lusid/models/security_offer_election.py +0 -241
  1209. lusid/models/settlement_cycle.py +0 -180
  1210. lusid/models/settlement_schedule.py +0 -200
  1211. lusid/models/simple_cash_flow_loan_all_of.py +0 -280
  1212. lusid/models/simple_instrument_all_of.py +0 -318
  1213. lusid/models/simple_rounding_convention.py +0 -175
  1214. lusid/models/specific_holding_pricing_info.py +0 -179
  1215. lusid/models/spin_off_event.py +0 -426
  1216. lusid/models/staged_modifications_info.py +0 -208
  1217. lusid/models/step_schedule_all_of.py +0 -254
  1218. lusid/models/stock_dividend_event.py +0 -366
  1219. lusid/models/stock_dividend_event_all_of.py +0 -366
  1220. lusid/models/stock_split_event_all_of.py +0 -366
  1221. lusid/models/string_compliance_parameter_all_of.py +0 -185
  1222. lusid/models/swap_cash_flow_event.py +0 -279
  1223. lusid/models/swap_cash_flow_event_all_of.py +0 -279
  1224. lusid/models/swap_principal_event.py +0 -279
  1225. lusid/models/swap_principal_event_all_of.py +0 -279
  1226. lusid/models/tender_event.py +0 -456
  1227. lusid/models/tender_event_all_of.py +0 -456
  1228. lusid/models/term_deposit_all_of.py +0 -340
  1229. lusid/models/term_deposit_interest_event.py +0 -246
  1230. lusid/models/term_deposit_interest_event_all_of.py +0 -246
  1231. lusid/models/term_deposit_principal_event.py +0 -246
  1232. lusid/models/term_deposit_principal_event_all_of.py +0 -246
  1233. lusid/models/total_return_swap_all_of.py +0 -276
  1234. lusid/models/transition_event_all_of.py +0 -335
  1235. lusid/models/trigger_event_all_of.py +0 -318
  1236. lusid/models/update_compliance_template_request.py +0 -228
  1237. lusid/models/update_orders_response.py +0 -262
  1238. lusid/models/update_placements_response.py +0 -262
  1239. lusid/models/update_reference_data_request.py +0 -178
  1240. lusid/models/upsert_persons_response.py +0 -238
  1241. lusid/models/upsert_reference_portfolio_constituent_properties_request.py +0 -178
  1242. lusid/models/upsert_reference_portfolio_constituent_properties_response.py +0 -231
  1243. lusid/models/yield_curve_data_all_of.py +0 -313
  1244. lusid/tcp/__init__.py +0 -1
  1245. lusid/tcp/tcp_keep_alive_probes.py +0 -110
  1246. lusid/utilities/__init__.py +0 -8
  1247. lusid/utilities/api_client_builder.py +0 -145
  1248. lusid/utilities/api_client_factory.py +0 -132
  1249. lusid/utilities/api_configuration.py +0 -126
  1250. lusid/utilities/api_configuration_loader.py +0 -87
  1251. lusid/utilities/config_keys.json +0 -50
  1252. lusid/utilities/config_keys.py +0 -13
  1253. lusid/utilities/lusid_retry.py +0 -47
  1254. lusid_sdk-1.1.257.dist-info/METADATA +0 -21
  1255. lusid_sdk-1.1.257.dist-info/RECORD +0 -987
  1256. lusid_sdk-1.1.257.dist-info/top_level.txt +0 -1
lusid/api/quotes_api.py CHANGED
@@ -5,102 +5,332 @@
5
5
 
6
6
  FINBOURNE Technology # noqa: E501
7
7
 
8
- The version of the OpenAPI document: 1.1.257
9
8
  Contact: info@finbourne.com
10
- Generated by: https://openapi-generator.tech
11
- """
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
12
10
 
11
+ Do not edit the class manually.
12
+ """
13
13
 
14
- from __future__ import absolute_import
15
14
 
16
15
  import re # noqa: F401
16
+ import io
17
+ import warnings
17
18
 
18
- # python 2 and python 3 compatibility library
19
- import six
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, StrictInt, StrictStr, constr, validator
26
+
27
+ from typing import Dict, Optional
20
28
 
21
- from lusid.api_client import ApiClient
22
- from lusid.exceptions import ( # noqa: F401
23
- ApiTypeError,
24
- ApiValueError
25
- )
26
29
  from lusid.models.annul_quotes_response import AnnulQuotesResponse
27
30
  from lusid.models.get_quotes_response import GetQuotesResponse
28
- from lusid.models.lusid_problem_details import LusidProblemDetails
29
- from lusid.models.lusid_validation_problem_details import LusidValidationProblemDetails
31
+ from lusid.models.quote_access_metadata_rule import QuoteAccessMetadataRule
30
32
  from lusid.models.quote_id import QuoteId
31
33
  from lusid.models.quote_series_id import QuoteSeriesId
32
34
  from lusid.models.resource_list_of_quote import ResourceListOfQuote
35
+ from lusid.models.resource_list_of_quote_access_metadata_rule import ResourceListOfQuoteAccessMetadataRule
36
+ from lusid.models.upsert_quote_access_metadata_rule_request import UpsertQuoteAccessMetadataRuleRequest
33
37
  from lusid.models.upsert_quote_request import UpsertQuoteRequest
34
38
  from lusid.models.upsert_quotes_response import UpsertQuotesResponse
35
39
 
40
+ from lusid.api_client import ApiClient
41
+ from lusid.api_response import ApiResponse
42
+ from lusid.exceptions import ( # noqa: F401
43
+ ApiTypeError,
44
+ ApiValueError
45
+ )
36
46
 
37
- class QuotesApi(object):
47
+
48
+ class QuotesApi:
38
49
  """NOTE: This class is auto generated by OpenAPI Generator
39
50
  Ref: https://openapi-generator.tech
40
51
 
41
52
  Do not edit the class manually.
42
53
  """
43
54
 
44
- def __init__(self, api_client=None):
55
+ def __init__(self, api_client=None) -> None:
45
56
  if api_client is None:
46
- api_client = ApiClient()
57
+ api_client = ApiClient.get_default()
47
58
  self.api_client = api_client
48
59
 
49
- def delete_quotes(self, scope, **kwargs): # noqa: E501
50
- """DeleteQuotes: Delete quotes # noqa: E501
60
+ @overload
61
+ async def delete_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
62
+ ...
51
63
 
52
- Delete one or more specified quotes from a single scope. A quote is identified by its unique id which includes information about the type of quote as well as the exact effective datetime (to the microsecond) from which it became valid. In the request each quote must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return both the collection of successfully deleted quotes, as well as those that failed. For the failures a reason will be provided explaining why the quote could not be deleted. It is important to always check the failed set for any unsuccessful results. # noqa: E501
64
+ @overload
65
+ def delete_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, async_req: Optional[bool]=True, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
66
+ ...
67
+
68
+ @validate_arguments
69
+ def delete_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[QuoteAccessMetadataRule, Awaitable[QuoteAccessMetadataRule]]: # noqa: E501
70
+ """[EXPERIMENTAL] DeleteQuoteAccessMetadataRule: Delete a Quote Access Metadata Rule # noqa: E501
71
+
72
+ Delete the Quote Access Metadata Rule that exactly matches the provided identifier parts # noqa: E501
53
73
  This method makes a synchronous HTTP request by default. To make an
54
74
  asynchronous HTTP request, please pass async_req=True
55
75
 
56
- >>> thread = api.delete_quotes(scope, async_req=True)
76
+ >>> thread = api.delete_quote_access_metadata_rule(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, async_req=True)
57
77
  >>> result = thread.get()
58
78
 
59
- :param scope: The scope of the quotes to delete. (required)
79
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
60
80
  :type scope: str
61
- :param request_body: The quotes to delete keyed by a unique correlation id.
62
- :type request_body: dict(str, QuoteId)
81
+ :param provider: The Provider of the rule
82
+ :type provider: str
83
+ :param price_source: The PriceSource of the rule
84
+ :type price_source: str
85
+ :param instrument_id_type: The InstrumentIdType of the rule
86
+ :type instrument_id_type: str
87
+ :param instrument_id: The InstrumentId of the rule
88
+ :type instrument_id: str
89
+ :param quote_type: The QuoteType of the rule
90
+ :type quote_type: str
91
+ :param field: The Field of the rule
92
+ :type field: str
93
+ :param effective_at: The effective date to delete at, if this is not supplied, it will delete all data found
94
+ :type effective_at: str
63
95
  :param async_req: Whether to execute the request asynchronously.
64
96
  :type async_req: bool, optional
65
- :param _preload_content: if False, the urllib3.HTTPResponse object will
66
- be returned without reading/decoding response
67
- data. Default is True.
97
+ :param _request_timeout: timeout setting for this request.
98
+ If one number provided, it will be total request
99
+ timeout. It can also be a pair (tuple) of
100
+ (connection, read) timeouts.
101
+ :return: Returns the result object.
102
+ If the method is called asynchronously,
103
+ returns the request thread.
104
+ :rtype: QuoteAccessMetadataRule
105
+ """
106
+ kwargs['_return_http_data_only'] = True
107
+ if '_preload_content' in kwargs:
108
+ message = "Error! Please call the delete_quote_access_metadata_rule_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
109
+ raise ValueError(message)
110
+ if async_req is not None:
111
+ kwargs['async_req'] = async_req
112
+ return self.delete_quote_access_metadata_rule_with_http_info(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, **kwargs) # noqa: E501
113
+
114
+ @validate_arguments
115
+ def delete_quote_access_metadata_rule_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date to delete at, if this is not supplied, it will delete all data found")] = None, **kwargs) -> ApiResponse: # noqa: E501
116
+ """[EXPERIMENTAL] DeleteQuoteAccessMetadataRule: Delete a Quote Access Metadata Rule # noqa: E501
117
+
118
+ Delete the Quote Access Metadata Rule that exactly matches the provided identifier parts # noqa: E501
119
+ This method makes a synchronous HTTP request by default. To make an
120
+ asynchronous HTTP request, please pass async_req=True
121
+
122
+ >>> thread = api.delete_quote_access_metadata_rule_with_http_info(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, async_req=True)
123
+ >>> result = thread.get()
124
+
125
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
126
+ :type scope: str
127
+ :param provider: The Provider of the rule
128
+ :type provider: str
129
+ :param price_source: The PriceSource of the rule
130
+ :type price_source: str
131
+ :param instrument_id_type: The InstrumentIdType of the rule
132
+ :type instrument_id_type: str
133
+ :param instrument_id: The InstrumentId of the rule
134
+ :type instrument_id: str
135
+ :param quote_type: The QuoteType of the rule
136
+ :type quote_type: str
137
+ :param field: The Field of the rule
138
+ :type field: str
139
+ :param effective_at: The effective date to delete at, if this is not supplied, it will delete all data found
140
+ :type effective_at: str
141
+ :param async_req: Whether to execute the request asynchronously.
142
+ :type async_req: bool, optional
143
+ :param _preload_content: if False, the ApiResponse.data will
144
+ be set to none and raw_data will store the
145
+ HTTP response body without reading/decoding.
146
+ Default is True.
68
147
  :type _preload_content: bool, optional
148
+ :param _return_http_data_only: response data instead of ApiResponse
149
+ object with status code, headers, etc
150
+ :type _return_http_data_only: bool, optional
69
151
  :param _request_timeout: timeout setting for this request. If one
70
152
  number provided, it will be total request
71
153
  timeout. It can also be a pair (tuple) of
72
154
  (connection, read) timeouts.
155
+ :param _request_auth: set to override the auth_settings for an a single
156
+ request; this effectively ignores the authentication
157
+ in the spec for a single request.
158
+ :type _request_auth: dict, optional
159
+ :type _content_type: string, optional: force content-type for the request
160
+ :return: Returns the result object.
161
+ If the method is called asynchronously,
162
+ returns the request thread.
163
+ :rtype: tuple(QuoteAccessMetadataRule, status_code(int), headers(HTTPHeaderDict))
164
+ """
165
+
166
+ _params = locals()
167
+
168
+ _all_params = [
169
+ 'scope',
170
+ 'provider',
171
+ 'price_source',
172
+ 'instrument_id_type',
173
+ 'instrument_id',
174
+ 'quote_type',
175
+ 'field',
176
+ 'effective_at'
177
+ ]
178
+ _all_params.extend(
179
+ [
180
+ 'async_req',
181
+ '_return_http_data_only',
182
+ '_preload_content',
183
+ '_request_timeout',
184
+ '_request_auth',
185
+ '_content_type',
186
+ '_headers'
187
+ ]
188
+ )
189
+
190
+ # validate the arguments
191
+ for _key, _val in _params['kwargs'].items():
192
+ if _key not in _all_params:
193
+ raise ApiTypeError(
194
+ "Got an unexpected keyword argument '%s'"
195
+ " to method delete_quote_access_metadata_rule" % _key
196
+ )
197
+ _params[_key] = _val
198
+ del _params['kwargs']
199
+
200
+ _collection_formats = {}
201
+
202
+ # process the path parameters
203
+ _path_params = {}
204
+ if _params['scope']:
205
+ _path_params['scope'] = _params['scope']
206
+
207
+
208
+ # process the query parameters
209
+ _query_params = []
210
+ if _params.get('provider') is not None: # noqa: E501
211
+ _query_params.append(('provider', _params['provider']))
212
+
213
+ if _params.get('price_source') is not None: # noqa: E501
214
+ _query_params.append(('priceSource', _params['price_source']))
215
+
216
+ if _params.get('instrument_id_type') is not None: # noqa: E501
217
+ _query_params.append(('instrumentIdType', _params['instrument_id_type']))
218
+
219
+ if _params.get('instrument_id') is not None: # noqa: E501
220
+ _query_params.append(('instrumentId', _params['instrument_id']))
221
+
222
+ if _params.get('quote_type') is not None: # noqa: E501
223
+ _query_params.append(('quoteType', _params['quote_type']))
224
+
225
+ if _params.get('field') is not None: # noqa: E501
226
+ _query_params.append(('field', _params['field']))
227
+
228
+ if _params.get('effective_at') is not None: # noqa: E501
229
+ _query_params.append(('effectiveAt', _params['effective_at']))
230
+
231
+ # process the header parameters
232
+ _header_params = dict(_params.get('_headers', {}))
233
+ # process the form parameters
234
+ _form_params = []
235
+ _files = {}
236
+ # process the body parameter
237
+ _body_params = None
238
+ # set the HTTP header `Accept`
239
+ _header_params['Accept'] = self.api_client.select_header_accept(
240
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
241
+
242
+ # authentication setting
243
+ _auth_settings = ['oauth2'] # noqa: E501
244
+
245
+ _response_types_map = {
246
+ '200': "QuoteAccessMetadataRule",
247
+ '400': "LusidValidationProblemDetails",
248
+ }
249
+
250
+ return self.api_client.call_api(
251
+ '/api/metadata/quotes/rules/{scope}', 'DELETE',
252
+ _path_params,
253
+ _query_params,
254
+ _header_params,
255
+ body=_body_params,
256
+ post_params=_form_params,
257
+ files=_files,
258
+ response_types_map=_response_types_map,
259
+ auth_settings=_auth_settings,
260
+ async_req=_params.get('async_req'),
261
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
262
+ _preload_content=_params.get('_preload_content', True),
263
+ _request_timeout=_params.get('_request_timeout'),
264
+ collection_formats=_collection_formats,
265
+ _request_auth=_params.get('_request_auth'))
266
+
267
+ @overload
268
+ async def delete_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to delete.")], request_body : Annotated[Optional[Dict[str, QuoteId]], Field(description="The quotes to delete keyed by a unique correlation id.")] = None, **kwargs) -> AnnulQuotesResponse: # noqa: E501
269
+ ...
270
+
271
+ @overload
272
+ def delete_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to delete.")], request_body : Annotated[Optional[Dict[str, QuoteId]], Field(description="The quotes to delete keyed by a unique correlation id.")] = None, async_req: Optional[bool]=True, **kwargs) -> AnnulQuotesResponse: # noqa: E501
273
+ ...
274
+
275
+ @validate_arguments
276
+ def delete_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to delete.")], request_body : Annotated[Optional[Dict[str, QuoteId]], Field(description="The quotes to delete keyed by a unique correlation id.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[AnnulQuotesResponse, Awaitable[AnnulQuotesResponse]]: # noqa: E501
277
+ """DeleteQuotes: Delete quotes # noqa: E501
278
+
279
+ Delete one or more specified quotes from a single scope. A quote is identified by its unique id which includes information about the type of quote as well as the exact effective datetime (to the microsecond) from which it became valid. In the request each quote must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return both the collection of successfully deleted quotes, as well as those that failed. For the failures a reason will be provided explaining why the quote could not be deleted. It is important to always check the failed set for any unsuccessful results. # noqa: E501
280
+ This method makes a synchronous HTTP request by default. To make an
281
+ asynchronous HTTP request, please pass async_req=True
282
+
283
+ >>> thread = api.delete_quotes(scope, request_body, async_req=True)
284
+ >>> result = thread.get()
285
+
286
+ :param scope: The scope of the quotes to delete. (required)
287
+ :type scope: str
288
+ :param request_body: The quotes to delete keyed by a unique correlation id.
289
+ :type request_body: Dict[str, QuoteId]
290
+ :param async_req: Whether to execute the request asynchronously.
291
+ :type async_req: bool, optional
292
+ :param _request_timeout: timeout setting for this request.
293
+ If one number provided, it will be total request
294
+ timeout. It can also be a pair (tuple) of
295
+ (connection, read) timeouts.
73
296
  :return: Returns the result object.
74
297
  If the method is called asynchronously,
75
298
  returns the request thread.
76
299
  :rtype: AnnulQuotesResponse
77
300
  """
78
301
  kwargs['_return_http_data_only'] = True
79
- return self.delete_quotes_with_http_info(scope, **kwargs) # noqa: E501
80
-
81
- def delete_quotes_with_http_info(self, scope, **kwargs): # noqa: E501
302
+ if '_preload_content' in kwargs:
303
+ message = "Error! Please call the delete_quotes_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
304
+ raise ValueError(message)
305
+ if async_req is not None:
306
+ kwargs['async_req'] = async_req
307
+ return self.delete_quotes_with_http_info(scope, request_body, **kwargs) # noqa: E501
308
+
309
+ @validate_arguments
310
+ def delete_quotes_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to delete.")], request_body : Annotated[Optional[Dict[str, QuoteId]], Field(description="The quotes to delete keyed by a unique correlation id.")] = None, **kwargs) -> ApiResponse: # noqa: E501
82
311
  """DeleteQuotes: Delete quotes # noqa: E501
83
312
 
84
313
  Delete one or more specified quotes from a single scope. A quote is identified by its unique id which includes information about the type of quote as well as the exact effective datetime (to the microsecond) from which it became valid. In the request each quote must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return both the collection of successfully deleted quotes, as well as those that failed. For the failures a reason will be provided explaining why the quote could not be deleted. It is important to always check the failed set for any unsuccessful results. # noqa: E501
85
314
  This method makes a synchronous HTTP request by default. To make an
86
315
  asynchronous HTTP request, please pass async_req=True
87
316
 
88
- >>> thread = api.delete_quotes_with_http_info(scope, async_req=True)
317
+ >>> thread = api.delete_quotes_with_http_info(scope, request_body, async_req=True)
89
318
  >>> result = thread.get()
90
319
 
91
320
  :param scope: The scope of the quotes to delete. (required)
92
321
  :type scope: str
93
322
  :param request_body: The quotes to delete keyed by a unique correlation id.
94
- :type request_body: dict(str, QuoteId)
323
+ :type request_body: Dict[str, QuoteId]
95
324
  :param async_req: Whether to execute the request asynchronously.
96
325
  :type async_req: bool, optional
97
- :param _return_http_data_only: response data without head status code
98
- and headers
99
- :type _return_http_data_only: bool, optional
100
- :param _preload_content: if False, the urllib3.HTTPResponse object will
101
- be returned without reading/decoding response
102
- data. Default is True.
326
+ :param _preload_content: if False, the ApiResponse.data will
327
+ be set to none and raw_data will store the
328
+ HTTP response body without reading/decoding.
329
+ Default is True.
103
330
  :type _preload_content: bool, optional
331
+ :param _return_http_data_only: response data instead of ApiResponse
332
+ object with status code, headers, etc
333
+ :type _return_http_data_only: bool, optional
104
334
  :param _request_timeout: timeout setting for this request. If one
105
335
  number provided, it will be total request
106
336
  timeout. It can also be a pair (tuple) of
@@ -109,113 +339,114 @@ class QuotesApi(object):
109
339
  request; this effectively ignores the authentication
110
340
  in the spec for a single request.
111
341
  :type _request_auth: dict, optional
112
- :return: Returns the result object, the HTTP status code, and the headers.
342
+ :type _content_type: string, optional: force content-type for the request
343
+ :return: Returns the result object.
113
344
  If the method is called asynchronously,
114
345
  returns the request thread.
115
- :rtype: (AnnulQuotesResponse, int, HTTPHeaderDict)
346
+ :rtype: tuple(AnnulQuotesResponse, status_code(int), headers(HTTPHeaderDict))
116
347
  """
117
348
 
118
- local_var_params = locals()
349
+ _params = locals()
119
350
 
120
- all_params = [
351
+ _all_params = [
121
352
  'scope',
122
353
  'request_body'
123
354
  ]
124
- all_params.extend(
355
+ _all_params.extend(
125
356
  [
126
357
  'async_req',
127
358
  '_return_http_data_only',
128
359
  '_preload_content',
129
360
  '_request_timeout',
130
361
  '_request_auth',
362
+ '_content_type',
131
363
  '_headers'
132
364
  ]
133
365
  )
134
366
 
135
- for key, val in six.iteritems(local_var_params['kwargs']):
136
- if key not in all_params:
367
+ # validate the arguments
368
+ for _key, _val in _params['kwargs'].items():
369
+ if _key not in _all_params:
137
370
  raise ApiTypeError(
138
371
  "Got an unexpected keyword argument '%s'"
139
- " to method delete_quotes" % key
372
+ " to method delete_quotes" % _key
140
373
  )
141
- local_var_params[key] = val
142
- del local_var_params['kwargs']
143
- # verify the required parameter 'scope' is set
144
- if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
145
- local_var_params['scope'] is None): # noqa: E501
146
- raise ApiValueError("Missing the required parameter `scope` when calling `delete_quotes`") # noqa: E501
147
-
148
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
149
- len(local_var_params['scope']) > 64): # noqa: E501
150
- raise ApiValueError("Invalid value for parameter `scope` when calling `delete_quotes`, length must be less than or equal to `64`") # noqa: E501
151
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
152
- len(local_var_params['scope']) < 1): # noqa: E501
153
- raise ApiValueError("Invalid value for parameter `scope` when calling `delete_quotes`, length must be greater than or equal to `1`") # noqa: E501
154
- if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
155
- raise ApiValueError("Invalid value for parameter `scope` when calling `delete_quotes`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
156
- collection_formats = {}
157
-
158
- path_params = {}
159
- if 'scope' in local_var_params:
160
- path_params['scope'] = local_var_params['scope'] # noqa: E501
161
-
162
- query_params = []
163
-
164
- header_params = dict(local_var_params.get('_headers', {}))
165
-
166
- form_params = []
167
- local_var_files = {}
168
-
169
- body_params = None
170
- if 'request_body' in local_var_params:
171
- body_params = local_var_params['request_body']
172
- # HTTP header `Accept`
173
- header_params['Accept'] = self.api_client.select_header_accept(
374
+ _params[_key] = _val
375
+ del _params['kwargs']
376
+
377
+ _collection_formats = {}
378
+
379
+ # process the path parameters
380
+ _path_params = {}
381
+ if _params['scope']:
382
+ _path_params['scope'] = _params['scope']
383
+
384
+
385
+ # process the query parameters
386
+ _query_params = []
387
+ # process the header parameters
388
+ _header_params = dict(_params.get('_headers', {}))
389
+ # process the form parameters
390
+ _form_params = []
391
+ _files = {}
392
+ # process the body parameter
393
+ _body_params = None
394
+ if _params['request_body'] is not None:
395
+ _body_params = _params['request_body']
396
+
397
+ # set the HTTP header `Accept`
398
+ _header_params['Accept'] = self.api_client.select_header_accept(
174
399
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
175
400
 
176
- header_params['Accept-Encoding'] = "gzip, deflate, br"
177
-
178
- # HTTP header `Content-Type`
179
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
180
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']) # noqa: E501
401
+ # set the HTTP header `Content-Type`
402
+ _content_types_list = _params.get('_content_type',
403
+ self.api_client.select_header_content_type(
404
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
405
+ if _content_types_list:
406
+ _header_params['Content-Type'] = _content_types_list
181
407
 
182
- # set the LUSID header
183
- header_params['X-LUSID-SDK-Language'] = 'Python'
184
- header_params['X-LUSID-SDK-Version'] = '1.1.257'
408
+ # authentication setting
409
+ _auth_settings = ['oauth2'] # noqa: E501
185
410
 
186
- # Authentication setting
187
- auth_settings = ['oauth2'] # noqa: E501
188
-
189
- response_types_map = {
190
- 200: "AnnulQuotesResponse",
191
- 400: "LusidValidationProblemDetails",
411
+ _response_types_map = {
412
+ '200': "AnnulQuotesResponse",
413
+ '400': "LusidValidationProblemDetails",
192
414
  }
193
415
 
194
416
  return self.api_client.call_api(
195
417
  '/api/quotes/{scope}/$delete', 'POST',
196
- path_params,
197
- query_params,
198
- header_params,
199
- body=body_params,
200
- post_params=form_params,
201
- files=local_var_files,
202
- response_types_map=response_types_map,
203
- auth_settings=auth_settings,
204
- async_req=local_var_params.get('async_req'),
205
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
206
- _preload_content=local_var_params.get('_preload_content', True),
207
- _request_timeout=local_var_params.get('_request_timeout'),
208
- collection_formats=collection_formats,
209
- _request_auth=local_var_params.get('_request_auth'))
210
-
211
- def get_quotes(self, scope, **kwargs): # noqa: E501
212
- """GetQuotes: Get quotes # noqa: E501
418
+ _path_params,
419
+ _query_params,
420
+ _header_params,
421
+ body=_body_params,
422
+ post_params=_form_params,
423
+ files=_files,
424
+ response_types_map=_response_types_map,
425
+ auth_settings=_auth_settings,
426
+ async_req=_params.get('async_req'),
427
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
428
+ _preload_content=_params.get('_preload_content', True),
429
+ _request_timeout=_params.get('_request_timeout'),
430
+ collection_formats=_collection_formats,
431
+ _request_auth=_params.get('_request_auth'))
432
+
433
+ @overload
434
+ async def get_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to retrieve.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the quotes. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the quotes. Defaults to return the latest version of each quote if not specified.")] = None, max_age : Annotated[Optional[StrictStr], Field(description="The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.")] = None, request_body : Annotated[Optional[Dict[str, QuoteSeriesId]], Field(description="The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.")] = None, **kwargs) -> GetQuotesResponse: # noqa: E501
435
+ ...
436
+
437
+ @overload
438
+ def get_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to retrieve.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the quotes. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the quotes. Defaults to return the latest version of each quote if not specified.")] = None, max_age : Annotated[Optional[StrictStr], Field(description="The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.")] = None, request_body : Annotated[Optional[Dict[str, QuoteSeriesId]], Field(description="The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.")] = None, async_req: Optional[bool]=True, **kwargs) -> GetQuotesResponse: # noqa: E501
439
+ ...
440
+
441
+ @validate_arguments
442
+ def get_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to retrieve.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the quotes. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the quotes. Defaults to return the latest version of each quote if not specified.")] = None, max_age : Annotated[Optional[StrictStr], Field(description="The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.")] = None, request_body : Annotated[Optional[Dict[str, QuoteSeriesId]], Field(description="The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[GetQuotesResponse, Awaitable[GetQuotesResponse]]: # noqa: E501
443
+ """[EARLY ACCESS] GetQuotes: Get quotes # noqa: E501
213
444
 
214
445
  Get one or more quotes from a single scope. Each quote can be identified by its time invariant quote series id. For each quote series id LUSID will return the most recent quote with respect to the provided (or default) effective datetime. An optional maximum age range window can be specified which defines how far back to look back for a quote from the specified effective datetime. LUSID will return the most recent quote within this window. In the request each quote series id must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return three collections. One, the successfully retrieved quotes. Two, those that had a valid quote series id but could not be found. Three, those that failed because LUSID could not construct a valid quote series id from the request. For the quotes that failed or could not be found a reason will be provided explaining why the quote could not be retrieved. It is important to always check the failed and not found sets for any unsuccessful results. The maximum number of quotes that this method can get per request is 2,000. # noqa: E501
215
446
  This method makes a synchronous HTTP request by default. To make an
216
447
  asynchronous HTTP request, please pass async_req=True
217
448
 
218
- >>> thread = api.get_quotes(scope, async_req=True)
449
+ >>> thread = api.get_quotes(scope, effective_at, as_at, max_age, request_body, async_req=True)
219
450
  >>> result = thread.get()
220
451
 
221
452
  :param scope: The scope of the quotes to retrieve. (required)
@@ -227,33 +458,35 @@ class QuotesApi(object):
227
458
  :param max_age: The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.
228
459
  :type max_age: str
229
460
  :param request_body: The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.
230
- :type request_body: dict(str, QuoteSeriesId)
461
+ :type request_body: Dict[str, QuoteSeriesId]
231
462
  :param async_req: Whether to execute the request asynchronously.
232
463
  :type async_req: bool, optional
233
- :param _preload_content: if False, the urllib3.HTTPResponse object will
234
- be returned without reading/decoding response
235
- data. Default is True.
236
- :type _preload_content: bool, optional
237
- :param _request_timeout: timeout setting for this request. If one
238
- number provided, it will be total request
239
- timeout. It can also be a pair (tuple) of
240
- (connection, read) timeouts.
464
+ :param _request_timeout: timeout setting for this request.
465
+ If one number provided, it will be total request
466
+ timeout. It can also be a pair (tuple) of
467
+ (connection, read) timeouts.
241
468
  :return: Returns the result object.
242
469
  If the method is called asynchronously,
243
470
  returns the request thread.
244
471
  :rtype: GetQuotesResponse
245
472
  """
246
473
  kwargs['_return_http_data_only'] = True
247
- return self.get_quotes_with_http_info(scope, **kwargs) # noqa: E501
474
+ if '_preload_content' in kwargs:
475
+ message = "Error! Please call the get_quotes_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
476
+ raise ValueError(message)
477
+ if async_req is not None:
478
+ kwargs['async_req'] = async_req
479
+ return self.get_quotes_with_http_info(scope, effective_at, as_at, max_age, request_body, **kwargs) # noqa: E501
248
480
 
249
- def get_quotes_with_http_info(self, scope, **kwargs): # noqa: E501
250
- """GetQuotes: Get quotes # noqa: E501
481
+ @validate_arguments
482
+ def get_quotes_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to retrieve.")], effective_at : Annotated[Optional[StrictStr], Field(description="The effective datetime or cut label at which to retrieve the quotes. Defaults to the current LUSID system datetime if not specified.")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the quotes. Defaults to return the latest version of each quote if not specified.")] = None, max_age : Annotated[Optional[StrictStr], Field(description="The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.")] = None, request_body : Annotated[Optional[Dict[str, QuoteSeriesId]], Field(description="The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.")] = None, **kwargs) -> ApiResponse: # noqa: E501
483
+ """[EARLY ACCESS] GetQuotes: Get quotes # noqa: E501
251
484
 
252
485
  Get one or more quotes from a single scope. Each quote can be identified by its time invariant quote series id. For each quote series id LUSID will return the most recent quote with respect to the provided (or default) effective datetime. An optional maximum age range window can be specified which defines how far back to look back for a quote from the specified effective datetime. LUSID will return the most recent quote within this window. In the request each quote series id must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return three collections. One, the successfully retrieved quotes. Two, those that had a valid quote series id but could not be found. Three, those that failed because LUSID could not construct a valid quote series id from the request. For the quotes that failed or could not be found a reason will be provided explaining why the quote could not be retrieved. It is important to always check the failed and not found sets for any unsuccessful results. The maximum number of quotes that this method can get per request is 2,000. # noqa: E501
253
486
  This method makes a synchronous HTTP request by default. To make an
254
487
  asynchronous HTTP request, please pass async_req=True
255
488
 
256
- >>> thread = api.get_quotes_with_http_info(scope, async_req=True)
489
+ >>> thread = api.get_quotes_with_http_info(scope, effective_at, as_at, max_age, request_body, async_req=True)
257
490
  >>> result = thread.get()
258
491
 
259
492
  :param scope: The scope of the quotes to retrieve. (required)
@@ -265,16 +498,17 @@ class QuotesApi(object):
265
498
  :param max_age: The duration of the look back window in an ISO8601 time interval format e.g. P1Y2M3DT4H30M (1 year, 2 months, 3 days, 4 hours and 30 minutes). This is subtracted from the provided effectiveAt datetime or cut label to generate a effective datetime window inside which a quote must exist to be retrieved.
266
499
  :type max_age: str
267
500
  :param request_body: The time invariant quote series ids of the quotes to retrieve. These need to be keyed by a unique correlation id allowing the retrieved quote to be identified in the response.
268
- :type request_body: dict(str, QuoteSeriesId)
501
+ :type request_body: Dict[str, QuoteSeriesId]
269
502
  :param async_req: Whether to execute the request asynchronously.
270
503
  :type async_req: bool, optional
271
- :param _return_http_data_only: response data without head status code
272
- and headers
273
- :type _return_http_data_only: bool, optional
274
- :param _preload_content: if False, the urllib3.HTTPResponse object will
275
- be returned without reading/decoding response
276
- data. Default is True.
504
+ :param _preload_content: if False, the ApiResponse.data will
505
+ be set to none and raw_data will store the
506
+ HTTP response body without reading/decoding.
507
+ Default is True.
277
508
  :type _preload_content: bool, optional
509
+ :param _return_http_data_only: response data instead of ApiResponse
510
+ object with status code, headers, etc
511
+ :type _return_http_data_only: bool, optional
278
512
  :param _request_timeout: timeout setting for this request. If one
279
513
  number provided, it will be total request
280
514
  timeout. It can also be a pair (tuple) of
@@ -283,122 +517,347 @@ class QuotesApi(object):
283
517
  request; this effectively ignores the authentication
284
518
  in the spec for a single request.
285
519
  :type _request_auth: dict, optional
286
- :return: Returns the result object, the HTTP status code, and the headers.
520
+ :type _content_type: string, optional: force content-type for the request
521
+ :return: Returns the result object.
287
522
  If the method is called asynchronously,
288
523
  returns the request thread.
289
- :rtype: (GetQuotesResponse, int, HTTPHeaderDict)
524
+ :rtype: tuple(GetQuotesResponse, status_code(int), headers(HTTPHeaderDict))
290
525
  """
291
526
 
292
- local_var_params = locals()
527
+ _params = locals()
293
528
 
294
- all_params = [
529
+ _all_params = [
295
530
  'scope',
296
531
  'effective_at',
297
532
  'as_at',
298
533
  'max_age',
299
534
  'request_body'
300
535
  ]
301
- all_params.extend(
536
+ _all_params.extend(
302
537
  [
303
538
  'async_req',
304
539
  '_return_http_data_only',
305
540
  '_preload_content',
306
541
  '_request_timeout',
307
542
  '_request_auth',
543
+ '_content_type',
308
544
  '_headers'
309
545
  ]
310
546
  )
311
547
 
312
- for key, val in six.iteritems(local_var_params['kwargs']):
313
- if key not in all_params:
548
+ # validate the arguments
549
+ for _key, _val in _params['kwargs'].items():
550
+ if _key not in _all_params:
314
551
  raise ApiTypeError(
315
552
  "Got an unexpected keyword argument '%s'"
316
- " to method get_quotes" % key
553
+ " to method get_quotes" % _key
317
554
  )
318
- local_var_params[key] = val
319
- del local_var_params['kwargs']
320
- # verify the required parameter 'scope' is set
321
- if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
322
- local_var_params['scope'] is None): # noqa: E501
323
- raise ApiValueError("Missing the required parameter `scope` when calling `get_quotes`") # noqa: E501
324
-
325
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
326
- len(local_var_params['scope']) > 64): # noqa: E501
327
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_quotes`, length must be less than or equal to `64`") # noqa: E501
328
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
329
- len(local_var_params['scope']) < 1): # noqa: E501
330
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_quotes`, length must be greater than or equal to `1`") # noqa: E501
331
- if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
332
- raise ApiValueError("Invalid value for parameter `scope` when calling `get_quotes`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
333
- collection_formats = {}
334
-
335
- path_params = {}
336
- if 'scope' in local_var_params:
337
- path_params['scope'] = local_var_params['scope'] # noqa: E501
338
-
339
- query_params = []
340
- if 'effective_at' in local_var_params and local_var_params['effective_at'] is not None: # noqa: E501
341
- query_params.append(('effectiveAt', local_var_params['effective_at'])) # noqa: E501
342
- if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
343
- query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
344
- if 'max_age' in local_var_params and local_var_params['max_age'] is not None: # noqa: E501
345
- query_params.append(('maxAge', local_var_params['max_age'])) # noqa: E501
346
-
347
- header_params = dict(local_var_params.get('_headers', {}))
348
-
349
- form_params = []
350
- local_var_files = {}
351
-
352
- body_params = None
353
- if 'request_body' in local_var_params:
354
- body_params = local_var_params['request_body']
355
- # HTTP header `Accept`
356
- header_params['Accept'] = self.api_client.select_header_accept(
555
+ _params[_key] = _val
556
+ del _params['kwargs']
557
+
558
+ _collection_formats = {}
559
+
560
+ # process the path parameters
561
+ _path_params = {}
562
+ if _params['scope']:
563
+ _path_params['scope'] = _params['scope']
564
+
565
+
566
+ # process the query parameters
567
+ _query_params = []
568
+ if _params.get('effective_at') is not None: # noqa: E501
569
+ _query_params.append(('effectiveAt', _params['effective_at']))
570
+
571
+ if _params.get('as_at') is not None: # noqa: E501
572
+ if isinstance(_params['as_at'], datetime):
573
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
574
+ else:
575
+ _query_params.append(('asAt', _params['as_at']))
576
+
577
+ if _params.get('max_age') is not None: # noqa: E501
578
+ _query_params.append(('maxAge', _params['max_age']))
579
+
580
+ # process the header parameters
581
+ _header_params = dict(_params.get('_headers', {}))
582
+ # process the form parameters
583
+ _form_params = []
584
+ _files = {}
585
+ # process the body parameter
586
+ _body_params = None
587
+ if _params['request_body'] is not None:
588
+ _body_params = _params['request_body']
589
+
590
+ # set the HTTP header `Accept`
591
+ _header_params['Accept'] = self.api_client.select_header_accept(
357
592
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
358
593
 
359
- header_params['Accept-Encoding'] = "gzip, deflate, br"
594
+ # set the HTTP header `Content-Type`
595
+ _content_types_list = _params.get('_content_type',
596
+ self.api_client.select_header_content_type(
597
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
598
+ if _content_types_list:
599
+ _header_params['Content-Type'] = _content_types_list
600
+
601
+ # authentication setting
602
+ _auth_settings = ['oauth2'] # noqa: E501
603
+
604
+ _response_types_map = {
605
+ '200': "GetQuotesResponse",
606
+ '400': "LusidValidationProblemDetails",
607
+ }
608
+
609
+ return self.api_client.call_api(
610
+ '/api/quotes/{scope}/$get', 'POST',
611
+ _path_params,
612
+ _query_params,
613
+ _header_params,
614
+ body=_body_params,
615
+ post_params=_form_params,
616
+ files=_files,
617
+ response_types_map=_response_types_map,
618
+ auth_settings=_auth_settings,
619
+ async_req=_params.get('async_req'),
620
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
621
+ _preload_content=_params.get('_preload_content', True),
622
+ _request_timeout=_params.get('_request_timeout'),
623
+ collection_formats=_collection_formats,
624
+ _request_auth=_params.get('_request_auth'))
625
+
626
+ @overload
627
+ async def get_quotes_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date of the rule")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
628
+ ...
629
+
630
+ @overload
631
+ def get_quotes_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date of the rule")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
632
+ ...
633
+
634
+ @validate_arguments
635
+ def get_quotes_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date of the rule")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[QuoteAccessMetadataRule, Awaitable[QuoteAccessMetadataRule]]: # noqa: E501
636
+ """[EXPERIMENTAL] GetQuotesAccessMetadataRule: Get a quote access metadata rule # noqa: E501
637
+
638
+ Get a specific quote access metadata rule by specifying the corresponding identifier parts No matching will be performed through this endpoint. To retrieve a rule, it is necessary to specify, exactly, the identifier of the rule # noqa: E501
639
+ This method makes a synchronous HTTP request by default. To make an
640
+ asynchronous HTTP request, please pass async_req=True
641
+
642
+ >>> thread = api.get_quotes_access_metadata_rule(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, as_at, async_req=True)
643
+ >>> result = thread.get()
644
+
645
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
646
+ :type scope: str
647
+ :param provider: The Provider of the rule
648
+ :type provider: str
649
+ :param price_source: The PriceSource of the rule
650
+ :type price_source: str
651
+ :param instrument_id_type: The InstrumentIdType of the rule
652
+ :type instrument_id_type: str
653
+ :param instrument_id: The InstrumentId of the rule
654
+ :type instrument_id: str
655
+ :param quote_type: The QuoteType of the rule
656
+ :type quote_type: str
657
+ :param field: The Field of the rule
658
+ :type field: str
659
+ :param effective_at: The effective date of the rule
660
+ :type effective_at: str
661
+ :param as_at: The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.
662
+ :type as_at: datetime
663
+ :param async_req: Whether to execute the request asynchronously.
664
+ :type async_req: bool, optional
665
+ :param _request_timeout: timeout setting for this request.
666
+ If one number provided, it will be total request
667
+ timeout. It can also be a pair (tuple) of
668
+ (connection, read) timeouts.
669
+ :return: Returns the result object.
670
+ If the method is called asynchronously,
671
+ returns the request thread.
672
+ :rtype: QuoteAccessMetadataRule
673
+ """
674
+ kwargs['_return_http_data_only'] = True
675
+ if '_preload_content' in kwargs:
676
+ message = "Error! Please call the get_quotes_access_metadata_rule_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
677
+ raise ValueError(message)
678
+ if async_req is not None:
679
+ kwargs['async_req'] = async_req
680
+ return self.get_quotes_access_metadata_rule_with_http_info(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, as_at, **kwargs) # noqa: E501
681
+
682
+ @validate_arguments
683
+ def get_quotes_access_metadata_rule_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], provider : Annotated[Optional[constr(strict=True, max_length=256, min_length=0)], Field(description="The Provider of the rule")] = None, price_source : Annotated[Optional[StrictStr], Field(description="The PriceSource of the rule")] = None, instrument_id_type : Annotated[Optional[StrictStr], Field(description="The InstrumentIdType of the rule")] = None, instrument_id : Annotated[Optional[StrictStr], Field(description="The InstrumentId of the rule")] = None, quote_type : Annotated[Optional[StrictStr], Field(description="The QuoteType of the rule")] = None, field : Annotated[Optional[StrictStr], Field(description="The Field of the rule")] = None, effective_at : Annotated[Optional[StrictStr], Field(description="The effective date of the rule")] = None, as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
684
+ """[EXPERIMENTAL] GetQuotesAccessMetadataRule: Get a quote access metadata rule # noqa: E501
685
+
686
+ Get a specific quote access metadata rule by specifying the corresponding identifier parts No matching will be performed through this endpoint. To retrieve a rule, it is necessary to specify, exactly, the identifier of the rule # noqa: E501
687
+ This method makes a synchronous HTTP request by default. To make an
688
+ asynchronous HTTP request, please pass async_req=True
689
+
690
+ >>> thread = api.get_quotes_access_metadata_rule_with_http_info(scope, provider, price_source, instrument_id_type, instrument_id, quote_type, field, effective_at, as_at, async_req=True)
691
+ >>> result = thread.get()
692
+
693
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
694
+ :type scope: str
695
+ :param provider: The Provider of the rule
696
+ :type provider: str
697
+ :param price_source: The PriceSource of the rule
698
+ :type price_source: str
699
+ :param instrument_id_type: The InstrumentIdType of the rule
700
+ :type instrument_id_type: str
701
+ :param instrument_id: The InstrumentId of the rule
702
+ :type instrument_id: str
703
+ :param quote_type: The QuoteType of the rule
704
+ :type quote_type: str
705
+ :param field: The Field of the rule
706
+ :type field: str
707
+ :param effective_at: The effective date of the rule
708
+ :type effective_at: str
709
+ :param as_at: The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.
710
+ :type as_at: datetime
711
+ :param async_req: Whether to execute the request asynchronously.
712
+ :type async_req: bool, optional
713
+ :param _preload_content: if False, the ApiResponse.data will
714
+ be set to none and raw_data will store the
715
+ HTTP response body without reading/decoding.
716
+ Default is True.
717
+ :type _preload_content: bool, optional
718
+ :param _return_http_data_only: response data instead of ApiResponse
719
+ object with status code, headers, etc
720
+ :type _return_http_data_only: bool, optional
721
+ :param _request_timeout: timeout setting for this request. If one
722
+ number provided, it will be total request
723
+ timeout. It can also be a pair (tuple) of
724
+ (connection, read) timeouts.
725
+ :param _request_auth: set to override the auth_settings for an a single
726
+ request; this effectively ignores the authentication
727
+ in the spec for a single request.
728
+ :type _request_auth: dict, optional
729
+ :type _content_type: string, optional: force content-type for the request
730
+ :return: Returns the result object.
731
+ If the method is called asynchronously,
732
+ returns the request thread.
733
+ :rtype: tuple(QuoteAccessMetadataRule, status_code(int), headers(HTTPHeaderDict))
734
+ """
735
+
736
+ _params = locals()
737
+
738
+ _all_params = [
739
+ 'scope',
740
+ 'provider',
741
+ 'price_source',
742
+ 'instrument_id_type',
743
+ 'instrument_id',
744
+ 'quote_type',
745
+ 'field',
746
+ 'effective_at',
747
+ 'as_at'
748
+ ]
749
+ _all_params.extend(
750
+ [
751
+ 'async_req',
752
+ '_return_http_data_only',
753
+ '_preload_content',
754
+ '_request_timeout',
755
+ '_request_auth',
756
+ '_content_type',
757
+ '_headers'
758
+ ]
759
+ )
760
+
761
+ # validate the arguments
762
+ for _key, _val in _params['kwargs'].items():
763
+ if _key not in _all_params:
764
+ raise ApiTypeError(
765
+ "Got an unexpected keyword argument '%s'"
766
+ " to method get_quotes_access_metadata_rule" % _key
767
+ )
768
+ _params[_key] = _val
769
+ del _params['kwargs']
770
+
771
+ _collection_formats = {}
772
+
773
+ # process the path parameters
774
+ _path_params = {}
775
+
776
+ # process the query parameters
777
+ _query_params = []
778
+ if _params.get('scope') is not None: # noqa: E501
779
+ _query_params.append(('scope', _params['scope']))
780
+
781
+ if _params.get('provider') is not None: # noqa: E501
782
+ _query_params.append(('provider', _params['provider']))
783
+
784
+ if _params.get('price_source') is not None: # noqa: E501
785
+ _query_params.append(('priceSource', _params['price_source']))
786
+
787
+ if _params.get('instrument_id_type') is not None: # noqa: E501
788
+ _query_params.append(('instrumentIdType', _params['instrument_id_type']))
360
789
 
361
- # HTTP header `Content-Type`
362
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
363
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']) # noqa: E501
790
+ if _params.get('instrument_id') is not None: # noqa: E501
791
+ _query_params.append(('instrumentId', _params['instrument_id']))
364
792
 
365
- # set the LUSID header
366
- header_params['X-LUSID-SDK-Language'] = 'Python'
367
- header_params['X-LUSID-SDK-Version'] = '1.1.257'
793
+ if _params.get('quote_type') is not None: # noqa: E501
794
+ _query_params.append(('quoteType', _params['quote_type']))
368
795
 
369
- # Authentication setting
370
- auth_settings = ['oauth2'] # noqa: E501
796
+ if _params.get('field') is not None: # noqa: E501
797
+ _query_params.append(('field', _params['field']))
371
798
 
372
- response_types_map = {
373
- 200: "GetQuotesResponse",
374
- 400: "LusidValidationProblemDetails",
799
+ if _params.get('effective_at') is not None: # noqa: E501
800
+ _query_params.append(('effectiveAt', _params['effective_at']))
801
+
802
+ if _params.get('as_at') is not None: # noqa: E501
803
+ if isinstance(_params['as_at'], datetime):
804
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
805
+ else:
806
+ _query_params.append(('asAt', _params['as_at']))
807
+
808
+ # process the header parameters
809
+ _header_params = dict(_params.get('_headers', {}))
810
+ # process the form parameters
811
+ _form_params = []
812
+ _files = {}
813
+ # process the body parameter
814
+ _body_params = None
815
+ # set the HTTP header `Accept`
816
+ _header_params['Accept'] = self.api_client.select_header_accept(
817
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
818
+
819
+ # authentication setting
820
+ _auth_settings = ['oauth2'] # noqa: E501
821
+
822
+ _response_types_map = {
823
+ '200': "QuoteAccessMetadataRule",
824
+ '400': "LusidValidationProblemDetails",
375
825
  }
376
826
 
377
827
  return self.api_client.call_api(
378
- '/api/quotes/{scope}/$get', 'POST',
379
- path_params,
380
- query_params,
381
- header_params,
382
- body=body_params,
383
- post_params=form_params,
384
- files=local_var_files,
385
- response_types_map=response_types_map,
386
- auth_settings=auth_settings,
387
- async_req=local_var_params.get('async_req'),
388
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
389
- _preload_content=local_var_params.get('_preload_content', True),
390
- _request_timeout=local_var_params.get('_request_timeout'),
391
- collection_formats=collection_formats,
392
- _request_auth=local_var_params.get('_request_auth'))
393
-
394
- def list_quotes(self, scope, **kwargs): # noqa: E501
828
+ '/api/metadata/quotes/rules', 'GET',
829
+ _path_params,
830
+ _query_params,
831
+ _header_params,
832
+ body=_body_params,
833
+ post_params=_form_params,
834
+ files=_files,
835
+ response_types_map=_response_types_map,
836
+ auth_settings=_auth_settings,
837
+ async_req=_params.get('async_req'),
838
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
839
+ _preload_content=_params.get('_preload_content', True),
840
+ _request_timeout=_params.get('_request_timeout'),
841
+ collection_formats=_collection_formats,
842
+ _request_auth=_params.get('_request_auth'))
843
+
844
+ @overload
845
+ async def list_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, **kwargs) -> ResourceListOfQuote: # noqa: E501
846
+ ...
847
+
848
+ @overload
849
+ def list_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfQuote: # noqa: E501
850
+ ...
851
+
852
+ @validate_arguments
853
+ def list_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfQuote, Awaitable[ResourceListOfQuote]]: # noqa: E501
395
854
  """[DEPRECATED] ListQuotes: List quotes # noqa: E501
396
855
 
397
856
  List all the quotes from a single scope at the specified date/time Please use M:Finbourne.WebApi.Controllers.QuotesController.ListQuotesForScope(System.String,System.Nullable{System.DateTimeOffset},System.String,System.Nullable{System.Int32},System.String) - the signature and behaviour of this endpoint will be changing to omit scope # noqa: E501
398
857
  This method makes a synchronous HTTP request by default. To make an
399
858
  asynchronous HTTP request, please pass async_req=True
400
859
 
401
- >>> thread = api.list_quotes(scope, async_req=True)
860
+ >>> thread = api.list_quotes(scope, as_at, page, limit, filter, async_req=True)
402
861
  >>> result = thread.get()
403
862
 
404
863
  :param scope: The scope of the quotes to list. (required)
@@ -413,30 +872,32 @@ class QuotesApi(object):
413
872
  :type filter: str
414
873
  :param async_req: Whether to execute the request asynchronously.
415
874
  :type async_req: bool, optional
416
- :param _preload_content: if False, the urllib3.HTTPResponse object will
417
- be returned without reading/decoding response
418
- data. Default is True.
419
- :type _preload_content: bool, optional
420
- :param _request_timeout: timeout setting for this request. If one
421
- number provided, it will be total request
422
- timeout. It can also be a pair (tuple) of
423
- (connection, read) timeouts.
875
+ :param _request_timeout: timeout setting for this request.
876
+ If one number provided, it will be total request
877
+ timeout. It can also be a pair (tuple) of
878
+ (connection, read) timeouts.
424
879
  :return: Returns the result object.
425
880
  If the method is called asynchronously,
426
881
  returns the request thread.
427
882
  :rtype: ResourceListOfQuote
428
883
  """
429
884
  kwargs['_return_http_data_only'] = True
430
- return self.list_quotes_with_http_info(scope, **kwargs) # noqa: E501
431
-
432
- def list_quotes_with_http_info(self, scope, **kwargs): # noqa: E501
885
+ if '_preload_content' in kwargs:
886
+ message = "Error! Please call the list_quotes_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
887
+ raise ValueError(message)
888
+ if async_req is not None:
889
+ kwargs['async_req'] = async_req
890
+ return self.list_quotes_with_http_info(scope, as_at, page, limit, filter, **kwargs) # noqa: E501
891
+
892
+ @validate_arguments
893
+ def list_quotes_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, **kwargs) -> ApiResponse: # noqa: E501
433
894
  """[DEPRECATED] ListQuotes: List quotes # noqa: E501
434
895
 
435
896
  List all the quotes from a single scope at the specified date/time Please use M:Finbourne.WebApi.Controllers.QuotesController.ListQuotesForScope(System.String,System.Nullable{System.DateTimeOffset},System.String,System.Nullable{System.Int32},System.String) - the signature and behaviour of this endpoint will be changing to omit scope # noqa: E501
436
897
  This method makes a synchronous HTTP request by default. To make an
437
898
  asynchronous HTTP request, please pass async_req=True
438
899
 
439
- >>> thread = api.list_quotes_with_http_info(scope, async_req=True)
900
+ >>> thread = api.list_quotes_with_http_info(scope, as_at, page, limit, filter, async_req=True)
440
901
  >>> result = thread.get()
441
902
 
442
903
  :param scope: The scope of the quotes to list. (required)
@@ -451,13 +912,14 @@ class QuotesApi(object):
451
912
  :type filter: str
452
913
  :param async_req: Whether to execute the request asynchronously.
453
914
  :type async_req: bool, optional
454
- :param _return_http_data_only: response data without head status code
455
- and headers
456
- :type _return_http_data_only: bool, optional
457
- :param _preload_content: if False, the urllib3.HTTPResponse object will
458
- be returned without reading/decoding response
459
- data. Default is True.
915
+ :param _preload_content: if False, the ApiResponse.data will
916
+ be set to none and raw_data will store the
917
+ HTTP response body without reading/decoding.
918
+ Default is True.
460
919
  :type _preload_content: bool, optional
920
+ :param _return_http_data_only: response data instead of ApiResponse
921
+ object with status code, headers, etc
922
+ :type _return_http_data_only: bool, optional
461
923
  :param _request_timeout: timeout setting for this request. If one
462
924
  number provided, it will be total request
463
925
  timeout. It can also be a pair (tuple) of
@@ -466,135 +928,284 @@ class QuotesApi(object):
466
928
  request; this effectively ignores the authentication
467
929
  in the spec for a single request.
468
930
  :type _request_auth: dict, optional
469
- :return: Returns the result object, the HTTP status code, and the headers.
931
+ :type _content_type: string, optional: force content-type for the request
932
+ :return: Returns the result object.
470
933
  If the method is called asynchronously,
471
934
  returns the request thread.
472
- :rtype: (ResourceListOfQuote, int, HTTPHeaderDict)
935
+ :rtype: tuple(ResourceListOfQuote, status_code(int), headers(HTTPHeaderDict))
473
936
  """
474
937
 
475
- local_var_params = locals()
938
+ _params = locals()
476
939
 
477
- all_params = [
940
+ _all_params = [
478
941
  'scope',
479
942
  'as_at',
480
943
  'page',
481
944
  'limit',
482
945
  'filter'
483
946
  ]
484
- all_params.extend(
947
+ _all_params.extend(
485
948
  [
486
949
  'async_req',
487
950
  '_return_http_data_only',
488
951
  '_preload_content',
489
952
  '_request_timeout',
490
953
  '_request_auth',
954
+ '_content_type',
491
955
  '_headers'
492
956
  ]
493
957
  )
494
958
 
495
- for key, val in six.iteritems(local_var_params['kwargs']):
496
- if key not in all_params:
959
+ # validate the arguments
960
+ for _key, _val in _params['kwargs'].items():
961
+ if _key not in _all_params:
497
962
  raise ApiTypeError(
498
963
  "Got an unexpected keyword argument '%s'"
499
- " to method list_quotes" % key
964
+ " to method list_quotes" % _key
500
965
  )
501
- local_var_params[key] = val
502
- del local_var_params['kwargs']
503
- # verify the required parameter 'scope' is set
504
- if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
505
- local_var_params['scope'] is None): # noqa: E501
506
- raise ApiValueError("Missing the required parameter `scope` when calling `list_quotes`") # noqa: E501
507
-
508
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
509
- len(local_var_params['scope']) > 64): # noqa: E501
510
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes`, length must be less than or equal to `64`") # noqa: E501
511
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
512
- len(local_var_params['scope']) < 1): # noqa: E501
513
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes`, length must be greater than or equal to `1`") # noqa: E501
514
- if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
515
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
516
- if self.api_client.client_side_validation and ('page' in local_var_params and # noqa: E501
517
- len(local_var_params['page']) > 500): # noqa: E501
518
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes`, length must be less than or equal to `500`") # noqa: E501
519
- if self.api_client.client_side_validation and ('page' in local_var_params and # noqa: E501
520
- len(local_var_params['page']) < 1): # noqa: E501
521
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes`, length must be greater than or equal to `1`") # noqa: E501
522
- if self.api_client.client_side_validation and 'page' in local_var_params and not re.search(r'^[a-zA-Z0-9\+\/]*={0,3}$', local_var_params['page']): # noqa: E501
523
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes`, must conform to the pattern `/^[a-zA-Z0-9\+\/]*={0,3}$/`") # noqa: E501
524
- if self.api_client.client_side_validation and ('filter' in local_var_params and # noqa: E501
525
- len(local_var_params['filter']) > 16384): # noqa: E501
526
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes`, length must be less than or equal to `16384`") # noqa: E501
527
- if self.api_client.client_side_validation and ('filter' in local_var_params and # noqa: E501
528
- len(local_var_params['filter']) < 0): # noqa: E501
529
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes`, length must be greater than or equal to `0`") # noqa: E501
530
- if self.api_client.client_side_validation and 'filter' in local_var_params and not re.search(r'^[\s\S]*$', local_var_params['filter']): # noqa: E501
531
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes`, must conform to the pattern `/^[\s\S]*$/`") # noqa: E501
532
- collection_formats = {}
533
-
534
- path_params = {}
535
- if 'scope' in local_var_params:
536
- path_params['scope'] = local_var_params['scope'] # noqa: E501
537
-
538
- query_params = []
539
- if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
540
- query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
541
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
542
- query_params.append(('page', local_var_params['page'])) # noqa: E501
543
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
544
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
545
- if 'filter' in local_var_params and local_var_params['filter'] is not None: # noqa: E501
546
- query_params.append(('filter', local_var_params['filter'])) # noqa: E501
547
-
548
- header_params = dict(local_var_params.get('_headers', {}))
549
-
550
- form_params = []
551
- local_var_files = {}
552
-
553
- body_params = None
554
- # HTTP header `Accept`
555
- header_params['Accept'] = self.api_client.select_header_accept(
966
+ _params[_key] = _val
967
+ del _params['kwargs']
968
+
969
+ _collection_formats = {}
970
+
971
+ # process the path parameters
972
+ _path_params = {}
973
+ if _params['scope']:
974
+ _path_params['scope'] = _params['scope']
975
+
976
+
977
+ # process the query parameters
978
+ _query_params = []
979
+ if _params.get('as_at') is not None: # noqa: E501
980
+ if isinstance(_params['as_at'], datetime):
981
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
982
+ else:
983
+ _query_params.append(('asAt', _params['as_at']))
984
+
985
+ if _params.get('page') is not None: # noqa: E501
986
+ _query_params.append(('page', _params['page']))
987
+
988
+ if _params.get('limit') is not None: # noqa: E501
989
+ _query_params.append(('limit', _params['limit']))
990
+
991
+ if _params.get('filter') is not None: # noqa: E501
992
+ _query_params.append(('filter', _params['filter']))
993
+
994
+ # process the header parameters
995
+ _header_params = dict(_params.get('_headers', {}))
996
+ # process the form parameters
997
+ _form_params = []
998
+ _files = {}
999
+ # process the body parameter
1000
+ _body_params = None
1001
+ # set the HTTP header `Accept`
1002
+ _header_params['Accept'] = self.api_client.select_header_accept(
556
1003
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
557
1004
 
558
- header_params['Accept-Encoding'] = "gzip, deflate, br"
1005
+ # authentication setting
1006
+ _auth_settings = ['oauth2'] # noqa: E501
559
1007
 
1008
+ _response_types_map = {
1009
+ '200': "ResourceListOfQuote",
1010
+ '400': "LusidValidationProblemDetails",
1011
+ }
1012
+
1013
+ return self.api_client.call_api(
1014
+ '/api/quotes/{scope}/$deprecated', 'GET',
1015
+ _path_params,
1016
+ _query_params,
1017
+ _header_params,
1018
+ body=_body_params,
1019
+ post_params=_form_params,
1020
+ files=_files,
1021
+ response_types_map=_response_types_map,
1022
+ auth_settings=_auth_settings,
1023
+ async_req=_params.get('async_req'),
1024
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1025
+ _preload_content=_params.get('_preload_content', True),
1026
+ _request_timeout=_params.get('_request_timeout'),
1027
+ collection_formats=_collection_formats,
1028
+ _request_auth=_params.get('_request_auth'))
1029
+
1030
+ @overload
1031
+ async def list_quotes_access_metadata_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, **kwargs) -> ResourceListOfQuoteAccessMetadataRule: # noqa: E501
1032
+ ...
1033
+
1034
+ @overload
1035
+ def list_quotes_access_metadata_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfQuoteAccessMetadataRule: # noqa: E501
1036
+ ...
1037
+
1038
+ @validate_arguments
1039
+ def list_quotes_access_metadata_rules(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfQuoteAccessMetadataRule, Awaitable[ResourceListOfQuoteAccessMetadataRule]]: # noqa: E501
1040
+ """[EXPERIMENTAL] ListQuotesAccessMetadataRules: List all quote access metadata rules in a scope # noqa: E501
1041
+
1042
+ Get all the quote access metadata rules in the specified scope # noqa: E501
1043
+ This method makes a synchronous HTTP request by default. To make an
1044
+ asynchronous HTTP request, please pass async_req=True
560
1045
 
561
- # set the LUSID header
562
- header_params['X-LUSID-SDK-Language'] = 'Python'
563
- header_params['X-LUSID-SDK-Version'] = '1.1.257'
1046
+ >>> thread = api.list_quotes_access_metadata_rules(scope, as_at, async_req=True)
1047
+ >>> result = thread.get()
1048
+
1049
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
1050
+ :type scope: str
1051
+ :param as_at: The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.
1052
+ :type as_at: datetime
1053
+ :param async_req: Whether to execute the request asynchronously.
1054
+ :type async_req: bool, optional
1055
+ :param _request_timeout: timeout setting for this request.
1056
+ If one number provided, it will be total request
1057
+ timeout. It can also be a pair (tuple) of
1058
+ (connection, read) timeouts.
1059
+ :return: Returns the result object.
1060
+ If the method is called asynchronously,
1061
+ returns the request thread.
1062
+ :rtype: ResourceListOfQuoteAccessMetadataRule
1063
+ """
1064
+ kwargs['_return_http_data_only'] = True
1065
+ if '_preload_content' in kwargs:
1066
+ message = "Error! Please call the list_quotes_access_metadata_rules_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1067
+ raise ValueError(message)
1068
+ if async_req is not None:
1069
+ kwargs['async_req'] = async_req
1070
+ return self.list_quotes_access_metadata_rules_with_http_info(scope, as_at, **kwargs) # noqa: E501
1071
+
1072
+ @validate_arguments
1073
+ def list_quotes_access_metadata_rules_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the Quote Access Metadata Rule to retrieve.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.")] = None, **kwargs) -> ApiResponse: # noqa: E501
1074
+ """[EXPERIMENTAL] ListQuotesAccessMetadataRules: List all quote access metadata rules in a scope # noqa: E501
1075
+
1076
+ Get all the quote access metadata rules in the specified scope # noqa: E501
1077
+ This method makes a synchronous HTTP request by default. To make an
1078
+ asynchronous HTTP request, please pass async_req=True
1079
+
1080
+ >>> thread = api.list_quotes_access_metadata_rules_with_http_info(scope, as_at, async_req=True)
1081
+ >>> result = thread.get()
1082
+
1083
+ :param scope: The scope of the Quote Access Metadata Rule to retrieve. (required)
1084
+ :type scope: str
1085
+ :param as_at: The asAt datetime at which to retrieve the access metadata rule. Defaults to return the latest version if not specified.
1086
+ :type as_at: datetime
1087
+ :param async_req: Whether to execute the request asynchronously.
1088
+ :type async_req: bool, optional
1089
+ :param _preload_content: if False, the ApiResponse.data will
1090
+ be set to none and raw_data will store the
1091
+ HTTP response body without reading/decoding.
1092
+ Default is True.
1093
+ :type _preload_content: bool, optional
1094
+ :param _return_http_data_only: response data instead of ApiResponse
1095
+ object with status code, headers, etc
1096
+ :type _return_http_data_only: bool, optional
1097
+ :param _request_timeout: timeout setting for this request. If one
1098
+ number provided, it will be total request
1099
+ timeout. It can also be a pair (tuple) of
1100
+ (connection, read) timeouts.
1101
+ :param _request_auth: set to override the auth_settings for an a single
1102
+ request; this effectively ignores the authentication
1103
+ in the spec for a single request.
1104
+ :type _request_auth: dict, optional
1105
+ :type _content_type: string, optional: force content-type for the request
1106
+ :return: Returns the result object.
1107
+ If the method is called asynchronously,
1108
+ returns the request thread.
1109
+ :rtype: tuple(ResourceListOfQuoteAccessMetadataRule, status_code(int), headers(HTTPHeaderDict))
1110
+ """
1111
+
1112
+ _params = locals()
1113
+
1114
+ _all_params = [
1115
+ 'scope',
1116
+ 'as_at'
1117
+ ]
1118
+ _all_params.extend(
1119
+ [
1120
+ 'async_req',
1121
+ '_return_http_data_only',
1122
+ '_preload_content',
1123
+ '_request_timeout',
1124
+ '_request_auth',
1125
+ '_content_type',
1126
+ '_headers'
1127
+ ]
1128
+ )
1129
+
1130
+ # validate the arguments
1131
+ for _key, _val in _params['kwargs'].items():
1132
+ if _key not in _all_params:
1133
+ raise ApiTypeError(
1134
+ "Got an unexpected keyword argument '%s'"
1135
+ " to method list_quotes_access_metadata_rules" % _key
1136
+ )
1137
+ _params[_key] = _val
1138
+ del _params['kwargs']
1139
+
1140
+ _collection_formats = {}
1141
+
1142
+ # process the path parameters
1143
+ _path_params = {}
1144
+ if _params['scope']:
1145
+ _path_params['scope'] = _params['scope']
1146
+
1147
+
1148
+ # process the query parameters
1149
+ _query_params = []
1150
+ if _params.get('as_at') is not None: # noqa: E501
1151
+ if isinstance(_params['as_at'], datetime):
1152
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1153
+ else:
1154
+ _query_params.append(('asAt', _params['as_at']))
1155
+
1156
+ # process the header parameters
1157
+ _header_params = dict(_params.get('_headers', {}))
1158
+ # process the form parameters
1159
+ _form_params = []
1160
+ _files = {}
1161
+ # process the body parameter
1162
+ _body_params = None
1163
+ # set the HTTP header `Accept`
1164
+ _header_params['Accept'] = self.api_client.select_header_accept(
1165
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
564
1166
 
565
- # Authentication setting
566
- auth_settings = ['oauth2'] # noqa: E501
1167
+ # authentication setting
1168
+ _auth_settings = ['oauth2'] # noqa: E501
567
1169
 
568
- response_types_map = {
569
- 200: "ResourceListOfQuote",
570
- 400: "LusidValidationProblemDetails",
1170
+ _response_types_map = {
1171
+ '200': "ResourceListOfQuoteAccessMetadataRule",
1172
+ '400': "LusidValidationProblemDetails",
571
1173
  }
572
1174
 
573
1175
  return self.api_client.call_api(
574
- '/api/quotes/{scope}/$deprecated', 'GET',
575
- path_params,
576
- query_params,
577
- header_params,
578
- body=body_params,
579
- post_params=form_params,
580
- files=local_var_files,
581
- response_types_map=response_types_map,
582
- auth_settings=auth_settings,
583
- async_req=local_var_params.get('async_req'),
584
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
585
- _preload_content=local_var_params.get('_preload_content', True),
586
- _request_timeout=local_var_params.get('_request_timeout'),
587
- collection_formats=collection_formats,
588
- _request_auth=local_var_params.get('_request_auth'))
589
-
590
- def list_quotes_for_scope(self, scope, **kwargs): # noqa: E501
1176
+ '/api/metadata/quotes/rules/{scope}', 'GET',
1177
+ _path_params,
1178
+ _query_params,
1179
+ _header_params,
1180
+ body=_body_params,
1181
+ post_params=_form_params,
1182
+ files=_files,
1183
+ response_types_map=_response_types_map,
1184
+ auth_settings=_auth_settings,
1185
+ async_req=_params.get('async_req'),
1186
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1187
+ _preload_content=_params.get('_preload_content', True),
1188
+ _request_timeout=_params.get('_request_timeout'),
1189
+ collection_formats=_collection_formats,
1190
+ _request_auth=_params.get('_request_auth'))
1191
+
1192
+ @overload
1193
+ async def list_quotes_for_scope(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, **kwargs) -> ResourceListOfQuote: # noqa: E501
1194
+ ...
1195
+
1196
+ @overload
1197
+ def list_quotes_for_scope(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, async_req: Optional[bool]=True, **kwargs) -> ResourceListOfQuote: # noqa: E501
1198
+ ...
1199
+
1200
+ @validate_arguments
1201
+ def list_quotes_for_scope(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, async_req: Optional[bool]=None, **kwargs) -> Union[ResourceListOfQuote, Awaitable[ResourceListOfQuote]]: # noqa: E501
591
1202
  """ListQuotesForScope: List quotes for scope # noqa: E501
592
1203
 
593
1204
  List all the quotes from a single scope at the specified date/time # noqa: E501
594
1205
  This method makes a synchronous HTTP request by default. To make an
595
1206
  asynchronous HTTP request, please pass async_req=True
596
1207
 
597
- >>> thread = api.list_quotes_for_scope(scope, async_req=True)
1208
+ >>> thread = api.list_quotes_for_scope(scope, as_at, page, limit, filter, async_req=True)
598
1209
  >>> result = thread.get()
599
1210
 
600
1211
  :param scope: The scope of the quotes to list. (required)
@@ -609,30 +1220,32 @@ class QuotesApi(object):
609
1220
  :type filter: str
610
1221
  :param async_req: Whether to execute the request asynchronously.
611
1222
  :type async_req: bool, optional
612
- :param _preload_content: if False, the urllib3.HTTPResponse object will
613
- be returned without reading/decoding response
614
- data. Default is True.
615
- :type _preload_content: bool, optional
616
- :param _request_timeout: timeout setting for this request. If one
617
- number provided, it will be total request
618
- timeout. It can also be a pair (tuple) of
619
- (connection, read) timeouts.
1223
+ :param _request_timeout: timeout setting for this request.
1224
+ If one number provided, it will be total request
1225
+ timeout. It can also be a pair (tuple) of
1226
+ (connection, read) timeouts.
620
1227
  :return: Returns the result object.
621
1228
  If the method is called asynchronously,
622
1229
  returns the request thread.
623
1230
  :rtype: ResourceListOfQuote
624
1231
  """
625
1232
  kwargs['_return_http_data_only'] = True
626
- return self.list_quotes_for_scope_with_http_info(scope, **kwargs) # noqa: E501
627
-
628
- def list_quotes_for_scope_with_http_info(self, scope, **kwargs): # noqa: E501
1233
+ if '_preload_content' in kwargs:
1234
+ message = "Error! Please call the list_quotes_for_scope_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1235
+ raise ValueError(message)
1236
+ if async_req is not None:
1237
+ kwargs['async_req'] = async_req
1238
+ return self.list_quotes_for_scope_with_http_info(scope, as_at, page, limit, filter, **kwargs) # noqa: E501
1239
+
1240
+ @validate_arguments
1241
+ def list_quotes_for_scope_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope of the quotes to list.")], as_at : Annotated[Optional[datetime], Field(description="The asAt datetime at which to list the quotes. Defaults to latest if not specified.")] = None, page : Annotated[Optional[constr(strict=True, max_length=500, min_length=1)], Field(description="The pagination token to use to continue listing quotes from a previous call to list quotes. This value is returned from the previous call. If a pagination token is provided the sortBy, filter, effectiveAt, and asAt fields must not have changed since the original request.")] = None, limit : Annotated[Optional[StrictInt], 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, **kwargs) -> ApiResponse: # noqa: E501
629
1242
  """ListQuotesForScope: List quotes for scope # noqa: E501
630
1243
 
631
1244
  List all the quotes from a single scope at the specified date/time # noqa: E501
632
1245
  This method makes a synchronous HTTP request by default. To make an
633
1246
  asynchronous HTTP request, please pass async_req=True
634
1247
 
635
- >>> thread = api.list_quotes_for_scope_with_http_info(scope, async_req=True)
1248
+ >>> thread = api.list_quotes_for_scope_with_http_info(scope, as_at, page, limit, filter, async_req=True)
636
1249
  >>> result = thread.get()
637
1250
 
638
1251
  :param scope: The scope of the quotes to list. (required)
@@ -647,13 +1260,14 @@ class QuotesApi(object):
647
1260
  :type filter: str
648
1261
  :param async_req: Whether to execute the request asynchronously.
649
1262
  :type async_req: bool, optional
650
- :param _return_http_data_only: response data without head status code
651
- and headers
652
- :type _return_http_data_only: bool, optional
653
- :param _preload_content: if False, the urllib3.HTTPResponse object will
654
- be returned without reading/decoding response
655
- data. Default is True.
1263
+ :param _preload_content: if False, the ApiResponse.data will
1264
+ be set to none and raw_data will store the
1265
+ HTTP response body without reading/decoding.
1266
+ Default is True.
656
1267
  :type _preload_content: bool, optional
1268
+ :param _return_http_data_only: response data instead of ApiResponse
1269
+ object with status code, headers, etc
1270
+ :type _return_http_data_only: bool, optional
657
1271
  :param _request_timeout: timeout setting for this request. If one
658
1272
  number provided, it will be total request
659
1273
  timeout. It can also be a pair (tuple) of
@@ -662,182 +1276,357 @@ class QuotesApi(object):
662
1276
  request; this effectively ignores the authentication
663
1277
  in the spec for a single request.
664
1278
  :type _request_auth: dict, optional
665
- :return: Returns the result object, the HTTP status code, and the headers.
1279
+ :type _content_type: string, optional: force content-type for the request
1280
+ :return: Returns the result object.
666
1281
  If the method is called asynchronously,
667
1282
  returns the request thread.
668
- :rtype: (ResourceListOfQuote, int, HTTPHeaderDict)
1283
+ :rtype: tuple(ResourceListOfQuote, status_code(int), headers(HTTPHeaderDict))
669
1284
  """
670
1285
 
671
- local_var_params = locals()
1286
+ _params = locals()
672
1287
 
673
- all_params = [
1288
+ _all_params = [
674
1289
  'scope',
675
1290
  'as_at',
676
1291
  'page',
677
1292
  'limit',
678
1293
  'filter'
679
1294
  ]
680
- all_params.extend(
1295
+ _all_params.extend(
681
1296
  [
682
1297
  'async_req',
683
1298
  '_return_http_data_only',
684
1299
  '_preload_content',
685
1300
  '_request_timeout',
686
1301
  '_request_auth',
1302
+ '_content_type',
687
1303
  '_headers'
688
1304
  ]
689
1305
  )
690
1306
 
691
- for key, val in six.iteritems(local_var_params['kwargs']):
692
- if key not in all_params:
1307
+ # validate the arguments
1308
+ for _key, _val in _params['kwargs'].items():
1309
+ if _key not in _all_params:
693
1310
  raise ApiTypeError(
694
1311
  "Got an unexpected keyword argument '%s'"
695
- " to method list_quotes_for_scope" % key
1312
+ " to method list_quotes_for_scope" % _key
696
1313
  )
697
- local_var_params[key] = val
698
- del local_var_params['kwargs']
699
- # verify the required parameter 'scope' is set
700
- if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
701
- local_var_params['scope'] is None): # noqa: E501
702
- raise ApiValueError("Missing the required parameter `scope` when calling `list_quotes_for_scope`") # noqa: E501
703
-
704
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
705
- len(local_var_params['scope']) > 64): # noqa: E501
706
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes_for_scope`, length must be less than or equal to `64`") # noqa: E501
707
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
708
- len(local_var_params['scope']) < 1): # noqa: E501
709
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes_for_scope`, length must be greater than or equal to `1`") # noqa: E501
710
- if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
711
- raise ApiValueError("Invalid value for parameter `scope` when calling `list_quotes_for_scope`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
712
- if self.api_client.client_side_validation and ('page' in local_var_params and # noqa: E501
713
- len(local_var_params['page']) > 500): # noqa: E501
714
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes_for_scope`, length must be less than or equal to `500`") # noqa: E501
715
- if self.api_client.client_side_validation and ('page' in local_var_params and # noqa: E501
716
- len(local_var_params['page']) < 1): # noqa: E501
717
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes_for_scope`, length must be greater than or equal to `1`") # noqa: E501
718
- if self.api_client.client_side_validation and 'page' in local_var_params and not re.search(r'^[a-zA-Z0-9\+\/]*={0,3}$', local_var_params['page']): # noqa: E501
719
- raise ApiValueError("Invalid value for parameter `page` when calling `list_quotes_for_scope`, must conform to the pattern `/^[a-zA-Z0-9\+\/]*={0,3}$/`") # noqa: E501
720
- if self.api_client.client_side_validation and ('filter' in local_var_params and # noqa: E501
721
- len(local_var_params['filter']) > 16384): # noqa: E501
722
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes_for_scope`, length must be less than or equal to `16384`") # noqa: E501
723
- if self.api_client.client_side_validation and ('filter' in local_var_params and # noqa: E501
724
- len(local_var_params['filter']) < 0): # noqa: E501
725
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes_for_scope`, length must be greater than or equal to `0`") # noqa: E501
726
- if self.api_client.client_side_validation and 'filter' in local_var_params and not re.search(r'^[\s\S]*$', local_var_params['filter']): # noqa: E501
727
- raise ApiValueError("Invalid value for parameter `filter` when calling `list_quotes_for_scope`, must conform to the pattern `/^[\s\S]*$/`") # noqa: E501
728
- collection_formats = {}
729
-
730
- path_params = {}
731
- if 'scope' in local_var_params:
732
- path_params['scope'] = local_var_params['scope'] # noqa: E501
733
-
734
- query_params = []
735
- if 'as_at' in local_var_params and local_var_params['as_at'] is not None: # noqa: E501
736
- query_params.append(('asAt', local_var_params['as_at'])) # noqa: E501
737
- if 'page' in local_var_params and local_var_params['page'] is not None: # noqa: E501
738
- query_params.append(('page', local_var_params['page'])) # noqa: E501
739
- if 'limit' in local_var_params and local_var_params['limit'] is not None: # noqa: E501
740
- query_params.append(('limit', local_var_params['limit'])) # noqa: E501
741
- if 'filter' in local_var_params and local_var_params['filter'] is not None: # noqa: E501
742
- query_params.append(('filter', local_var_params['filter'])) # noqa: E501
743
-
744
- header_params = dict(local_var_params.get('_headers', {}))
745
-
746
- form_params = []
747
- local_var_files = {}
748
-
749
- body_params = None
750
- # HTTP header `Accept`
751
- header_params['Accept'] = self.api_client.select_header_accept(
1314
+ _params[_key] = _val
1315
+ del _params['kwargs']
1316
+
1317
+ _collection_formats = {}
1318
+
1319
+ # process the path parameters
1320
+ _path_params = {}
1321
+ if _params['scope']:
1322
+ _path_params['scope'] = _params['scope']
1323
+
1324
+
1325
+ # process the query parameters
1326
+ _query_params = []
1327
+ if _params.get('as_at') is not None: # noqa: E501
1328
+ if isinstance(_params['as_at'], datetime):
1329
+ _query_params.append(('asAt', _params['as_at'].strftime(self.api_client.configuration.datetime_format)))
1330
+ else:
1331
+ _query_params.append(('asAt', _params['as_at']))
1332
+
1333
+ if _params.get('page') is not None: # noqa: E501
1334
+ _query_params.append(('page', _params['page']))
1335
+
1336
+ if _params.get('limit') is not None: # noqa: E501
1337
+ _query_params.append(('limit', _params['limit']))
1338
+
1339
+ if _params.get('filter') is not None: # noqa: E501
1340
+ _query_params.append(('filter', _params['filter']))
1341
+
1342
+ # process the header parameters
1343
+ _header_params = dict(_params.get('_headers', {}))
1344
+ # process the form parameters
1345
+ _form_params = []
1346
+ _files = {}
1347
+ # process the body parameter
1348
+ _body_params = None
1349
+ # set the HTTP header `Accept`
1350
+ _header_params['Accept'] = self.api_client.select_header_accept(
752
1351
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
753
1352
 
754
- header_params['Accept-Encoding'] = "gzip, deflate, br"
1353
+ # authentication setting
1354
+ _auth_settings = ['oauth2'] # noqa: E501
755
1355
 
1356
+ _response_types_map = {
1357
+ '200': "ResourceListOfQuote",
1358
+ '400': "LusidValidationProblemDetails",
1359
+ }
1360
+
1361
+ return self.api_client.call_api(
1362
+ '/api/quotes/{scope}', 'GET',
1363
+ _path_params,
1364
+ _query_params,
1365
+ _header_params,
1366
+ body=_body_params,
1367
+ post_params=_form_params,
1368
+ files=_files,
1369
+ response_types_map=_response_types_map,
1370
+ auth_settings=_auth_settings,
1371
+ async_req=_params.get('async_req'),
1372
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1373
+ _preload_content=_params.get('_preload_content', True),
1374
+ _request_timeout=_params.get('_request_timeout'),
1375
+ collection_formats=_collection_formats,
1376
+ _request_auth=_params.get('_request_auth'))
1377
+
1378
+ @overload
1379
+ async def upsert_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Quote Access Metadata Rule.")], upsert_quote_access_metadata_rule_request : Annotated[UpsertQuoteAccessMetadataRuleRequest, Field(..., description="The Quote Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
1380
+ ...
1381
+
1382
+ @overload
1383
+ def upsert_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Quote Access Metadata Rule.")], upsert_quote_access_metadata_rule_request : Annotated[UpsertQuoteAccessMetadataRuleRequest, Field(..., description="The Quote Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=True, **kwargs) -> QuoteAccessMetadataRule: # noqa: E501
1384
+ ...
1385
+
1386
+ @validate_arguments
1387
+ def upsert_quote_access_metadata_rule(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Quote Access Metadata Rule.")], upsert_quote_access_metadata_rule_request : Annotated[UpsertQuoteAccessMetadataRuleRequest, Field(..., description="The Quote Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[QuoteAccessMetadataRule, Awaitable[QuoteAccessMetadataRule]]: # noqa: E501
1388
+ """[EXPERIMENTAL] UpsertQuoteAccessMetadataRule: Upsert a Quote Access Metadata Rule. This creates or updates the data in LUSID. # noqa: E501
1389
+
1390
+ Update or insert one Quote Access Metadata Rule in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Quote Access Metadata Rule or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a key can exists with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
1391
+ This method makes a synchronous HTTP request by default. To make an
1392
+ asynchronous HTTP request, please pass async_req=True
1393
+
1394
+ >>> thread = api.upsert_quote_access_metadata_rule(scope, upsert_quote_access_metadata_rule_request, effective_at, effective_until, async_req=True)
1395
+ >>> result = thread.get()
756
1396
 
757
- # set the LUSID header
758
- header_params['X-LUSID-SDK-Language'] = 'Python'
759
- header_params['X-LUSID-SDK-Version'] = '1.1.257'
1397
+ :param scope: The scope to use when updating or inserting the Quote Access Metadata Rule. (required)
1398
+ :type scope: str
1399
+ :param upsert_quote_access_metadata_rule_request: The Quote Access Metadata Rule to update or insert (required)
1400
+ :type upsert_quote_access_metadata_rule_request: UpsertQuoteAccessMetadataRuleRequest
1401
+ :param effective_at: The date this rule will effective from
1402
+ :type effective_at: str
1403
+ :param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
1404
+ :type effective_until: datetime
1405
+ :param async_req: Whether to execute the request asynchronously.
1406
+ :type async_req: bool, optional
1407
+ :param _request_timeout: timeout setting for this request.
1408
+ If one number provided, it will be total request
1409
+ timeout. It can also be a pair (tuple) of
1410
+ (connection, read) timeouts.
1411
+ :return: Returns the result object.
1412
+ If the method is called asynchronously,
1413
+ returns the request thread.
1414
+ :rtype: QuoteAccessMetadataRule
1415
+ """
1416
+ kwargs['_return_http_data_only'] = True
1417
+ if '_preload_content' in kwargs:
1418
+ message = "Error! Please call the upsert_quote_access_metadata_rule_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1419
+ raise ValueError(message)
1420
+ if async_req is not None:
1421
+ kwargs['async_req'] = async_req
1422
+ return self.upsert_quote_access_metadata_rule_with_http_info(scope, upsert_quote_access_metadata_rule_request, effective_at, effective_until, **kwargs) # noqa: E501
1423
+
1424
+ @validate_arguments
1425
+ def upsert_quote_access_metadata_rule_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the Quote Access Metadata Rule.")], upsert_quote_access_metadata_rule_request : Annotated[UpsertQuoteAccessMetadataRuleRequest, Field(..., description="The Quote Access Metadata Rule to update or insert")], effective_at : Annotated[Optional[StrictStr], Field(description="The date this rule will effective from")] = None, effective_until : Annotated[Optional[datetime], Field(description="The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata")] = None, **kwargs) -> ApiResponse: # noqa: E501
1426
+ """[EXPERIMENTAL] UpsertQuoteAccessMetadataRule: Upsert a Quote Access Metadata Rule. This creates or updates the data in LUSID. # noqa: E501
1427
+
1428
+ Update or insert one Quote Access Metadata Rule in a single scope. An item will be updated if it already exists and inserted if it does not. The response will return the successfully updated or inserted Quote Access Metadata Rule or failure message if unsuccessful It is important to always check to verify success (or failure). Multiple rules for a key can exists with different effective at dates, when resources are accessed the rule that is active for the current time will be fetched # noqa: E501
1429
+ This method makes a synchronous HTTP request by default. To make an
1430
+ asynchronous HTTP request, please pass async_req=True
760
1431
 
761
- # Authentication setting
762
- auth_settings = ['oauth2'] # noqa: E501
1432
+ >>> thread = api.upsert_quote_access_metadata_rule_with_http_info(scope, upsert_quote_access_metadata_rule_request, effective_at, effective_until, async_req=True)
1433
+ >>> result = thread.get()
763
1434
 
764
- response_types_map = {
765
- 200: "ResourceListOfQuote",
766
- 400: "LusidValidationProblemDetails",
1435
+ :param scope: The scope to use when updating or inserting the Quote Access Metadata Rule. (required)
1436
+ :type scope: str
1437
+ :param upsert_quote_access_metadata_rule_request: The Quote Access Metadata Rule to update or insert (required)
1438
+ :type upsert_quote_access_metadata_rule_request: UpsertQuoteAccessMetadataRuleRequest
1439
+ :param effective_at: The date this rule will effective from
1440
+ :type effective_at: str
1441
+ :param effective_until: The effective date until which the Access Metadata is valid. If not supplied this will be valid indefinitely, or until the next 'effectiveAt' date of the Access Metadata
1442
+ :type effective_until: datetime
1443
+ :param async_req: Whether to execute the request asynchronously.
1444
+ :type async_req: bool, optional
1445
+ :param _preload_content: if False, the ApiResponse.data will
1446
+ be set to none and raw_data will store the
1447
+ HTTP response body without reading/decoding.
1448
+ Default is True.
1449
+ :type _preload_content: bool, optional
1450
+ :param _return_http_data_only: response data instead of ApiResponse
1451
+ object with status code, headers, etc
1452
+ :type _return_http_data_only: bool, optional
1453
+ :param _request_timeout: timeout setting for this request. If one
1454
+ number provided, it will be total request
1455
+ timeout. It can also be a pair (tuple) of
1456
+ (connection, read) timeouts.
1457
+ :param _request_auth: set to override the auth_settings for an a single
1458
+ request; this effectively ignores the authentication
1459
+ in the spec for a single request.
1460
+ :type _request_auth: dict, optional
1461
+ :type _content_type: string, optional: force content-type for the request
1462
+ :return: Returns the result object.
1463
+ If the method is called asynchronously,
1464
+ returns the request thread.
1465
+ :rtype: tuple(QuoteAccessMetadataRule, status_code(int), headers(HTTPHeaderDict))
1466
+ """
1467
+
1468
+ _params = locals()
1469
+
1470
+ _all_params = [
1471
+ 'scope',
1472
+ 'upsert_quote_access_metadata_rule_request',
1473
+ 'effective_at',
1474
+ 'effective_until'
1475
+ ]
1476
+ _all_params.extend(
1477
+ [
1478
+ 'async_req',
1479
+ '_return_http_data_only',
1480
+ '_preload_content',
1481
+ '_request_timeout',
1482
+ '_request_auth',
1483
+ '_content_type',
1484
+ '_headers'
1485
+ ]
1486
+ )
1487
+
1488
+ # validate the arguments
1489
+ for _key, _val in _params['kwargs'].items():
1490
+ if _key not in _all_params:
1491
+ raise ApiTypeError(
1492
+ "Got an unexpected keyword argument '%s'"
1493
+ " to method upsert_quote_access_metadata_rule" % _key
1494
+ )
1495
+ _params[_key] = _val
1496
+ del _params['kwargs']
1497
+
1498
+ _collection_formats = {}
1499
+
1500
+ # process the path parameters
1501
+ _path_params = {}
1502
+ if _params['scope']:
1503
+ _path_params['scope'] = _params['scope']
1504
+
1505
+
1506
+ # process the query parameters
1507
+ _query_params = []
1508
+ if _params.get('effective_at') is not None: # noqa: E501
1509
+ _query_params.append(('effectiveAt', _params['effective_at']))
1510
+
1511
+ if _params.get('effective_until') is not None: # noqa: E501
1512
+ if isinstance(_params['effective_until'], datetime):
1513
+ _query_params.append(('effectiveUntil', _params['effective_until'].strftime(self.api_client.configuration.datetime_format)))
1514
+ else:
1515
+ _query_params.append(('effectiveUntil', _params['effective_until']))
1516
+
1517
+ # process the header parameters
1518
+ _header_params = dict(_params.get('_headers', {}))
1519
+ # process the form parameters
1520
+ _form_params = []
1521
+ _files = {}
1522
+ # process the body parameter
1523
+ _body_params = None
1524
+ if _params['upsert_quote_access_metadata_rule_request'] is not None:
1525
+ _body_params = _params['upsert_quote_access_metadata_rule_request']
1526
+
1527
+ # set the HTTP header `Accept`
1528
+ _header_params['Accept'] = self.api_client.select_header_accept(
1529
+ ['text/plain', 'application/json', 'text/json']) # noqa: E501
1530
+
1531
+ # set the HTTP header `Content-Type`
1532
+ _content_types_list = _params.get('_content_type',
1533
+ self.api_client.select_header_content_type(
1534
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1535
+ if _content_types_list:
1536
+ _header_params['Content-Type'] = _content_types_list
1537
+
1538
+ # authentication setting
1539
+ _auth_settings = ['oauth2'] # noqa: E501
1540
+
1541
+ _response_types_map = {
1542
+ '200': "QuoteAccessMetadataRule",
1543
+ '400': "LusidValidationProblemDetails",
767
1544
  }
768
1545
 
769
1546
  return self.api_client.call_api(
770
- '/api/quotes/{scope}', 'GET',
771
- path_params,
772
- query_params,
773
- header_params,
774
- body=body_params,
775
- post_params=form_params,
776
- files=local_var_files,
777
- response_types_map=response_types_map,
778
- auth_settings=auth_settings,
779
- async_req=local_var_params.get('async_req'),
780
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
781
- _preload_content=local_var_params.get('_preload_content', True),
782
- _request_timeout=local_var_params.get('_request_timeout'),
783
- collection_formats=collection_formats,
784
- _request_auth=local_var_params.get('_request_auth'))
785
-
786
- def upsert_quotes(self, scope, **kwargs): # noqa: E501
1547
+ '/api/metadata/quotes/rules/{scope}', 'POST',
1548
+ _path_params,
1549
+ _query_params,
1550
+ _header_params,
1551
+ body=_body_params,
1552
+ post_params=_form_params,
1553
+ files=_files,
1554
+ response_types_map=_response_types_map,
1555
+ auth_settings=_auth_settings,
1556
+ async_req=_params.get('async_req'),
1557
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1558
+ _preload_content=_params.get('_preload_content', True),
1559
+ _request_timeout=_params.get('_request_timeout'),
1560
+ collection_formats=_collection_formats,
1561
+ _request_auth=_params.get('_request_auth'))
1562
+
1563
+ @overload
1564
+ async def upsert_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the quotes.")], request_body : Annotated[Optional[Dict[str, UpsertQuoteRequest]], Field(description="The quotes to update or insert keyed by a unique correlation id.")] = None, **kwargs) -> UpsertQuotesResponse: # noqa: E501
1565
+ ...
1566
+
1567
+ @overload
1568
+ def upsert_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the quotes.")], request_body : Annotated[Optional[Dict[str, UpsertQuoteRequest]], Field(description="The quotes to update or insert keyed by a unique correlation id.")] = None, async_req: Optional[bool]=True, **kwargs) -> UpsertQuotesResponse: # noqa: E501
1569
+ ...
1570
+
1571
+ @validate_arguments
1572
+ def upsert_quotes(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the quotes.")], request_body : Annotated[Optional[Dict[str, UpsertQuoteRequest]], Field(description="The quotes to update or insert keyed by a unique correlation id.")] = None, async_req: Optional[bool]=None, **kwargs) -> Union[UpsertQuotesResponse, Awaitable[UpsertQuotesResponse]]: # noqa: E501
787
1573
  """UpsertQuotes: Upsert quotes # noqa: E501
788
1574
 
789
1575
  Update or insert one or more quotes in a single scope. A quote will be updated if it already exists and inserted if it does not. In the request each quote must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return both the collection of successfully updated or inserted quotes, as well as those that failed. For the failures a reason will be provided explaining why the quote could not be updated or inserted. It is important to always check the failed set for any unsuccessful results. The maximum number of quotes that this method can upsert per request is 2,000. # noqa: E501
790
1576
  This method makes a synchronous HTTP request by default. To make an
791
1577
  asynchronous HTTP request, please pass async_req=True
792
1578
 
793
- >>> thread = api.upsert_quotes(scope, async_req=True)
1579
+ >>> thread = api.upsert_quotes(scope, request_body, async_req=True)
794
1580
  >>> result = thread.get()
795
1581
 
796
1582
  :param scope: The scope to use when updating or inserting the quotes. (required)
797
1583
  :type scope: str
798
1584
  :param request_body: The quotes to update or insert keyed by a unique correlation id.
799
- :type request_body: dict(str, UpsertQuoteRequest)
1585
+ :type request_body: Dict[str, UpsertQuoteRequest]
800
1586
  :param async_req: Whether to execute the request asynchronously.
801
1587
  :type async_req: bool, optional
802
- :param _preload_content: if False, the urllib3.HTTPResponse object will
803
- be returned without reading/decoding response
804
- data. Default is True.
805
- :type _preload_content: bool, optional
806
- :param _request_timeout: timeout setting for this request. If one
807
- number provided, it will be total request
808
- timeout. It can also be a pair (tuple) of
809
- (connection, read) timeouts.
1588
+ :param _request_timeout: timeout setting for this request.
1589
+ If one number provided, it will be total request
1590
+ timeout. It can also be a pair (tuple) of
1591
+ (connection, read) timeouts.
810
1592
  :return: Returns the result object.
811
1593
  If the method is called asynchronously,
812
1594
  returns the request thread.
813
1595
  :rtype: UpsertQuotesResponse
814
1596
  """
815
1597
  kwargs['_return_http_data_only'] = True
816
- return self.upsert_quotes_with_http_info(scope, **kwargs) # noqa: E501
817
-
818
- def upsert_quotes_with_http_info(self, scope, **kwargs): # noqa: E501
1598
+ if '_preload_content' in kwargs:
1599
+ message = "Error! Please call the upsert_quotes_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
1600
+ raise ValueError(message)
1601
+ if async_req is not None:
1602
+ kwargs['async_req'] = async_req
1603
+ return self.upsert_quotes_with_http_info(scope, request_body, **kwargs) # noqa: E501
1604
+
1605
+ @validate_arguments
1606
+ def upsert_quotes_with_http_info(self, scope : Annotated[constr(strict=True, max_length=64, min_length=1), Field(..., description="The scope to use when updating or inserting the quotes.")], request_body : Annotated[Optional[Dict[str, UpsertQuoteRequest]], Field(description="The quotes to update or insert keyed by a unique correlation id.")] = None, **kwargs) -> ApiResponse: # noqa: E501
819
1607
  """UpsertQuotes: Upsert quotes # noqa: E501
820
1608
 
821
1609
  Update or insert one or more quotes in a single scope. A quote will be updated if it already exists and inserted if it does not. In the request each quote must be keyed by a unique correlation id. This id is ephemeral and is not stored by LUSID. It serves only as a way to easily identify each quote in the response. The response will return both the collection of successfully updated or inserted quotes, as well as those that failed. For the failures a reason will be provided explaining why the quote could not be updated or inserted. It is important to always check the failed set for any unsuccessful results. The maximum number of quotes that this method can upsert per request is 2,000. # noqa: E501
822
1610
  This method makes a synchronous HTTP request by default. To make an
823
1611
  asynchronous HTTP request, please pass async_req=True
824
1612
 
825
- >>> thread = api.upsert_quotes_with_http_info(scope, async_req=True)
1613
+ >>> thread = api.upsert_quotes_with_http_info(scope, request_body, async_req=True)
826
1614
  >>> result = thread.get()
827
1615
 
828
1616
  :param scope: The scope to use when updating or inserting the quotes. (required)
829
1617
  :type scope: str
830
1618
  :param request_body: The quotes to update or insert keyed by a unique correlation id.
831
- :type request_body: dict(str, UpsertQuoteRequest)
1619
+ :type request_body: Dict[str, UpsertQuoteRequest]
832
1620
  :param async_req: Whether to execute the request asynchronously.
833
1621
  :type async_req: bool, optional
834
- :param _return_http_data_only: response data without head status code
835
- and headers
836
- :type _return_http_data_only: bool, optional
837
- :param _preload_content: if False, the urllib3.HTTPResponse object will
838
- be returned without reading/decoding response
839
- data. Default is True.
1622
+ :param _preload_content: if False, the ApiResponse.data will
1623
+ be set to none and raw_data will store the
1624
+ HTTP response body without reading/decoding.
1625
+ Default is True.
840
1626
  :type _preload_content: bool, optional
1627
+ :param _return_http_data_only: response data instead of ApiResponse
1628
+ object with status code, headers, etc
1629
+ :type _return_http_data_only: bool, optional
841
1630
  :param _request_timeout: timeout setting for this request. If one
842
1631
  number provided, it will be total request
843
1632
  timeout. It can also be a pair (tuple) of
@@ -846,101 +1635,93 @@ class QuotesApi(object):
846
1635
  request; this effectively ignores the authentication
847
1636
  in the spec for a single request.
848
1637
  :type _request_auth: dict, optional
849
- :return: Returns the result object, the HTTP status code, and the headers.
1638
+ :type _content_type: string, optional: force content-type for the request
1639
+ :return: Returns the result object.
850
1640
  If the method is called asynchronously,
851
1641
  returns the request thread.
852
- :rtype: (UpsertQuotesResponse, int, HTTPHeaderDict)
1642
+ :rtype: tuple(UpsertQuotesResponse, status_code(int), headers(HTTPHeaderDict))
853
1643
  """
854
1644
 
855
- local_var_params = locals()
1645
+ _params = locals()
856
1646
 
857
- all_params = [
1647
+ _all_params = [
858
1648
  'scope',
859
1649
  'request_body'
860
1650
  ]
861
- all_params.extend(
1651
+ _all_params.extend(
862
1652
  [
863
1653
  'async_req',
864
1654
  '_return_http_data_only',
865
1655
  '_preload_content',
866
1656
  '_request_timeout',
867
1657
  '_request_auth',
1658
+ '_content_type',
868
1659
  '_headers'
869
1660
  ]
870
1661
  )
871
1662
 
872
- for key, val in six.iteritems(local_var_params['kwargs']):
873
- if key not in all_params:
1663
+ # validate the arguments
1664
+ for _key, _val in _params['kwargs'].items():
1665
+ if _key not in _all_params:
874
1666
  raise ApiTypeError(
875
1667
  "Got an unexpected keyword argument '%s'"
876
- " to method upsert_quotes" % key
1668
+ " to method upsert_quotes" % _key
877
1669
  )
878
- local_var_params[key] = val
879
- del local_var_params['kwargs']
880
- # verify the required parameter 'scope' is set
881
- if self.api_client.client_side_validation and ('scope' not in local_var_params or # noqa: E501
882
- local_var_params['scope'] is None): # noqa: E501
883
- raise ApiValueError("Missing the required parameter `scope` when calling `upsert_quotes`") # noqa: E501
884
-
885
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
886
- len(local_var_params['scope']) > 64): # noqa: E501
887
- raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_quotes`, length must be less than or equal to `64`") # noqa: E501
888
- if self.api_client.client_side_validation and ('scope' in local_var_params and # noqa: E501
889
- len(local_var_params['scope']) < 1): # noqa: E501
890
- raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_quotes`, length must be greater than or equal to `1`") # noqa: E501
891
- if self.api_client.client_side_validation and 'scope' in local_var_params and not re.search(r'^[a-zA-Z0-9\-_]+$', local_var_params['scope']): # noqa: E501
892
- raise ApiValueError("Invalid value for parameter `scope` when calling `upsert_quotes`, must conform to the pattern `/^[a-zA-Z0-9\-_]+$/`") # noqa: E501
893
- collection_formats = {}
894
-
895
- path_params = {}
896
- if 'scope' in local_var_params:
897
- path_params['scope'] = local_var_params['scope'] # noqa: E501
898
-
899
- query_params = []
900
-
901
- header_params = dict(local_var_params.get('_headers', {}))
902
-
903
- form_params = []
904
- local_var_files = {}
905
-
906
- body_params = None
907
- if 'request_body' in local_var_params:
908
- body_params = local_var_params['request_body']
909
- # HTTP header `Accept`
910
- header_params['Accept'] = self.api_client.select_header_accept(
1670
+ _params[_key] = _val
1671
+ del _params['kwargs']
1672
+
1673
+ _collection_formats = {}
1674
+
1675
+ # process the path parameters
1676
+ _path_params = {}
1677
+ if _params['scope']:
1678
+ _path_params['scope'] = _params['scope']
1679
+
1680
+
1681
+ # process the query parameters
1682
+ _query_params = []
1683
+ # process the header parameters
1684
+ _header_params = dict(_params.get('_headers', {}))
1685
+ # process the form parameters
1686
+ _form_params = []
1687
+ _files = {}
1688
+ # process the body parameter
1689
+ _body_params = None
1690
+ if _params['request_body'] is not None:
1691
+ _body_params = _params['request_body']
1692
+
1693
+ # set the HTTP header `Accept`
1694
+ _header_params['Accept'] = self.api_client.select_header_accept(
911
1695
  ['text/plain', 'application/json', 'text/json']) # noqa: E501
912
1696
 
913
- header_params['Accept-Encoding'] = "gzip, deflate, br"
914
-
915
- # HTTP header `Content-Type`
916
- header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
917
- ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']) # noqa: E501
918
-
919
- # set the LUSID header
920
- header_params['X-LUSID-SDK-Language'] = 'Python'
921
- header_params['X-LUSID-SDK-Version'] = '1.1.257'
1697
+ # set the HTTP header `Content-Type`
1698
+ _content_types_list = _params.get('_content_type',
1699
+ self.api_client.select_header_content_type(
1700
+ ['application/json-patch+json', 'application/json', 'text/json', 'application/*+json']))
1701
+ if _content_types_list:
1702
+ _header_params['Content-Type'] = _content_types_list
922
1703
 
923
- # Authentication setting
924
- auth_settings = ['oauth2'] # noqa: E501
1704
+ # authentication setting
1705
+ _auth_settings = ['oauth2'] # noqa: E501
925
1706
 
926
- response_types_map = {
927
- 200: "UpsertQuotesResponse",
928
- 400: "LusidValidationProblemDetails",
1707
+ _response_types_map = {
1708
+ '200': "UpsertQuotesResponse",
1709
+ '400': "LusidValidationProblemDetails",
929
1710
  }
930
1711
 
931
1712
  return self.api_client.call_api(
932
1713
  '/api/quotes/{scope}', 'POST',
933
- path_params,
934
- query_params,
935
- header_params,
936
- body=body_params,
937
- post_params=form_params,
938
- files=local_var_files,
939
- response_types_map=response_types_map,
940
- auth_settings=auth_settings,
941
- async_req=local_var_params.get('async_req'),
942
- _return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
943
- _preload_content=local_var_params.get('_preload_content', True),
944
- _request_timeout=local_var_params.get('_request_timeout'),
945
- collection_formats=collection_formats,
946
- _request_auth=local_var_params.get('_request_auth'))
1714
+ _path_params,
1715
+ _query_params,
1716
+ _header_params,
1717
+ body=_body_params,
1718
+ post_params=_form_params,
1719
+ files=_files,
1720
+ response_types_map=_response_types_map,
1721
+ auth_settings=_auth_settings,
1722
+ async_req=_params.get('async_req'),
1723
+ _return_http_data_only=_params.get('_return_http_data_only'), # noqa: E501
1724
+ _preload_content=_params.get('_preload_content', True),
1725
+ _request_timeout=_params.get('_request_timeout'),
1726
+ collection_formats=_collection_formats,
1727
+ _request_auth=_params.get('_request_auth'))