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

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