lusid-sdk 1.1.250__py3-none-any.whl → 2.0.455__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of lusid-sdk might be problematic. Click here for more details.

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