lusid-sdk 1.1.131__py3-none-any.whl → 2.0.50b0__py3-none-any.whl

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