lusid-sdk 1.1.257__py3-none-any.whl → 2.0.430__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of lusid-sdk might be problematic. Click here for more details.
- lusid/__init__.py +262 -253
- lusid/api/__init__.py +15 -3
- lusid/api/abor_api.py +2297 -0
- lusid/api/abor_configuration_api.py +944 -0
- lusid/api/address_key_definition_api.py +296 -269
- lusid/api/aggregation_api.py +470 -261
- lusid/api/allocations_api.py +409 -402
- lusid/api/application_metadata_api.py +266 -244
- lusid/api/blocks_api.py +407 -400
- lusid/api/calendars_api.py +1179 -1634
- lusid/api/chart_of_accounts_api.py +5391 -0
- lusid/api/complex_market_data_api.py +471 -310
- lusid/api/compliance_api.py +1042 -1866
- lusid/api/configuration_recipe_api.py +1507 -359
- lusid/api/conventions_api.py +1982 -0
- lusid/api/corporate_action_sources_api.py +957 -881
- lusid/api/counterparties_api.py +729 -711
- lusid/api/custom_entities_api.py +1190 -1469
- lusid/api/custom_entity_definitions_api.py +387 -364
- lusid/api/custom_entity_types_api.py +393 -369
- lusid/api/cut_label_definitions_api.py +482 -451
- lusid/api/data_types_api.py +708 -1090
- lusid/api/derived_transaction_portfolios_api.py +204 -213
- lusid/api/entities_api.py +114 -114
- lusid/api/executions_api.py +409 -402
- lusid/api/funds_api.py +944 -0
- lusid/api/instrument_event_types_api.py +1287 -0
- lusid/api/instrument_events_api.py +631 -82
- lusid/api/instruments_api.py +2388 -1911
- lusid/api/legacy_compliance_api.py +1449 -0
- lusid/api/legal_entities_api.py +1898 -2242
- lusid/api/order_graph_api.py +355 -362
- lusid/api/order_instructions_api.py +745 -0
- lusid/api/order_management_api.py +508 -873
- lusid/api/orders_api.py +409 -402
- lusid/api/packages_api.py +745 -0
- lusid/api/participations_api.py +407 -400
- lusid/api/persons_api.py +1775 -2102
- lusid/api/placements_api.py +407 -400
- lusid/api/portfolio_groups_api.py +2811 -2983
- lusid/api/portfolios_api.py +2861 -4068
- lusid/api/property_definitions_api.py +1102 -1183
- lusid/api/quotes_api.py +1293 -512
- lusid/api/reconciliations_api.py +1858 -733
- lusid/api/reference_lists_api.py +389 -389
- lusid/api/reference_portfolio_api.py +409 -619
- lusid/api/relation_definitions_api.py +538 -0
- lusid/api/relations_api.py +414 -0
- lusid/api/relationship_definitions_api.py +484 -494
- lusid/api/relationships_api.py +206 -224
- lusid/api/schemas_api.py +366 -322
- lusid/api/scopes_api.py +184 -207
- lusid/api/scripted_translation_api.py +766 -775
- lusid/api/search_api.py +408 -423
- lusid/api/sequences_api.py +376 -404
- lusid/api/structured_result_data_api.py +1205 -575
- lusid/api/system_configuration_api.py +979 -143
- lusid/api/tax_rule_sets_api.py +900 -0
- lusid/api/transaction_configuration_api.py +1055 -1093
- lusid/api/transaction_fees_api.py +935 -0
- lusid/api/transaction_portfolios_api.py +4373 -3879
- lusid/api/translation_api.py +364 -0
- lusid/api_client.py +197 -124
- lusid/api_response.py +25 -0
- lusid/configuration.py +58 -81
- lusid/exceptions.py +17 -15
- lusid/extensions/__init__.py +7 -0
- lusid/extensions/api_client.py +766 -0
- lusid/extensions/api_client_factory.py +248 -0
- lusid/extensions/api_configuration.py +234 -0
- lusid/extensions/configuration_loaders.py +201 -0
- lusid/{utilities → extensions}/proxy_config.py +24 -6
- lusid/{utilities → extensions}/refreshing_token.py +82 -35
- lusid/extensions/rest.py +300 -0
- lusid/extensions/retry.py +357 -0
- lusid/extensions/socket_keep_alive.py +52 -0
- lusid/extensions/tcp_keep_alive_connector.py +113 -0
- lusid/models/__init__.py +246 -244
- lusid/models/a2_b_breakdown.py +65 -187
- lusid/models/a2_b_category.py +60 -154
- lusid/models/a2_b_data_record.py +178 -540
- lusid/models/a2_b_movement_record.py +192 -635
- lusid/models/abor.py +157 -0
- lusid/models/abor_configuration.py +159 -0
- lusid/models/abor_configuration_properties.py +115 -0
- lusid/models/abor_configuration_request.py +145 -0
- lusid/models/abor_properties.py +115 -0
- lusid/models/abor_request.py +131 -0
- lusid/models/access_controlled_action.py +87 -215
- lusid/models/access_controlled_resource.py +105 -271
- lusid/models/access_metadata_operation.py +84 -234
- lusid/models/access_metadata_value.py +58 -166
- lusid/models/account.py +131 -0
- lusid/models/account_properties.py +115 -0
- lusid/models/accounting_method.py +42 -0
- lusid/models/accounts_upsert_response.py +110 -0
- lusid/models/accumulation_event.py +87 -293
- lusid/models/action_id.py +55 -204
- lusid/models/action_result_of_portfolio.py +57 -154
- lusid/models/add_business_days_to_date_request.py +63 -214
- lusid/models/add_business_days_to_date_response.py +52 -127
- lusid/models/additional_payment.py +58 -228
- lusid/models/address_definition.py +97 -284
- lusid/models/address_key_compliance_parameter.py +73 -166
- lusid/models/address_key_definition.py +74 -220
- lusid/models/address_key_filter.py +69 -191
- lusid/models/address_key_list.py +73 -170
- lusid/models/address_key_list_compliance_parameter.py +77 -164
- lusid/models/address_key_option_definition.py +71 -293
- lusid/models/adjust_holding.py +101 -214
- lusid/models/adjust_holding_for_date_request.py +109 -285
- lusid/models/adjust_holding_request.py +107 -250
- lusid/models/aggregate_spec.py +67 -196
- lusid/models/aggregated_return.py +106 -373
- lusid/models/aggregated_returns_dispersion_request.py +102 -291
- lusid/models/aggregated_returns_request.py +128 -403
- lusid/models/aggregated_returns_response.py +95 -184
- lusid/models/aggregated_transactions_request.py +131 -0
- lusid/models/aggregation_context.py +55 -125
- lusid/models/aggregation_measure_failure_detail.py +80 -238
- lusid/models/aggregation_op.py +49 -0
- lusid/models/aggregation_options.py +55 -189
- lusid/models/aggregation_query.py +106 -439
- lusid/models/aggregation_type.py +44 -0
- lusid/models/allocation.py +207 -735
- lusid/models/allocation_request.py +175 -611
- lusid/models/allocation_service_run_response.py +102 -0
- lusid/models/allocation_set_request.py +64 -126
- lusid/models/amortisation_event.py +80 -266
- lusid/models/annul_quotes_response.py +99 -215
- lusid/models/annul_single_structured_data_response.py +74 -186
- lusid/models/annul_structured_data_response.py +99 -215
- lusid/models/asset_class.py +44 -0
- lusid/models/asset_leg.py +57 -161
- lusid/models/barrier.py +62 -228
- lusid/models/basket.py +85 -229
- lusid/models/basket_identifier.py +57 -224
- lusid/models/batch_adjust_holdings_response.py +128 -214
- lusid/models/batch_upsert_instrument_properties_response.py +101 -221
- lusid/models/batch_upsert_portfolio_transactions_response.py +128 -214
- lusid/models/batch_upsert_property_definition_properties_response.py +97 -221
- lusid/models/block.py +133 -542
- lusid/models/block_and_order_id_request.py +60 -156
- lusid/models/block_and_orders.py +65 -156
- lusid/models/block_and_orders_create_request.py +59 -134
- lusid/models/block_and_orders_request.py +117 -405
- lusid/models/block_request.py +108 -448
- lusid/models/block_set_request.py +64 -126
- lusid/models/blocked_order_request.py +113 -395
- lusid/models/bond.py +151 -570
- lusid/models/bond_coupon_event.py +80 -261
- lusid/models/bond_default_event.py +74 -167
- lusid/models/bond_principal_event.py +80 -261
- lusid/models/book_transactions_request.py +97 -0
- lusid/models/book_transactions_response.py +107 -0
- lusid/models/bool_compliance_parameter.py +73 -164
- lusid/models/bool_list_compliance_parameter.py +77 -164
- lusid/models/branch_step.py +83 -201
- lusid/models/bucketed_cash_flow_request.py +172 -0
- lusid/models/bucketed_cash_flow_response.py +111 -271
- lusid/models/bucketing_schedule.py +56 -126
- lusid/models/calculation_info.py +73 -0
- lusid/models/calendar.py +88 -337
- lusid/models/calendar_date.py +84 -407
- lusid/models/calendar_dependency.py +73 -166
- lusid/models/cap_floor.py +85 -295
- lusid/models/cash_dependency.py +76 -199
- lusid/models/cash_dividend_event.py +100 -291
- lusid/models/cash_election.py +73 -316
- lusid/models/cash_flow_event.py +80 -199
- lusid/models/cash_flow_lineage.py +91 -276
- lusid/models/cash_flow_value.py +90 -289
- lusid/models/cash_flow_value_set.py +86 -164
- lusid/models/cash_ladder_record.py +58 -216
- lusid/models/cash_perpetual.py +78 -231
- lusid/models/cds_flow_conventions.py +113 -514
- lusid/models/cds_index.py +100 -382
- lusid/models/cds_protection_detail_specification.py +57 -230
- lusid/models/change.py +110 -355
- lusid/models/change_history.py +90 -297
- lusid/models/change_history_action.py +39 -0
- lusid/models/change_item.py +80 -252
- lusid/models/chart_of_accounts.py +135 -0
- lusid/models/chart_of_accounts_properties.py +115 -0
- lusid/models/chart_of_accounts_request.py +120 -0
- lusid/models/check_step.py +92 -233
- lusid/models/cleardown_module_details.py +95 -0
- lusid/models/cleardown_module_request.py +117 -0
- lusid/models/cleardown_module_response.py +139 -0
- lusid/models/cleardown_module_rule.py +94 -0
- lusid/models/cleardown_module_rules_updated_response.py +110 -0
- lusid/models/client.py +75 -0
- lusid/models/close_event.py +76 -197
- lusid/models/close_period_diary_entry_request.py +149 -0
- lusid/models/complete_portfolio.py +149 -493
- lusid/models/complete_relation.py +96 -0
- lusid/models/complete_relationship.py +88 -378
- lusid/models/complex_bond.py +129 -326
- lusid/models/complex_market_data.py +82 -151
- lusid/models/complex_market_data_id.py +74 -274
- lusid/models/compliance_breached_order_info.py +83 -0
- lusid/models/compliance_parameter.py +85 -156
- lusid/models/compliance_parameter_type.py +56 -0
- lusid/models/compliance_rule.py +137 -0
- lusid/models/compliance_rule_breakdown.py +84 -257
- lusid/models/compliance_rule_breakdown_request.py +84 -252
- lusid/models/compliance_rule_response.py +149 -409
- lusid/models/compliance_rule_result.py +91 -0
- lusid/models/compliance_rule_result_detail.py +91 -414
- lusid/models/compliance_rule_result_portfolio_detail.py +57 -159
- lusid/models/compliance_rule_result_v2.py +68 -250
- lusid/models/compliance_rule_upsert_request.py +178 -0
- lusid/models/compliance_rule_upsert_response.py +82 -0
- lusid/models/compliance_run_info.py +81 -0
- lusid/models/compliance_run_info_v2.py +64 -253
- lusid/models/compliance_step.py +77 -146
- lusid/models/compliance_step_type.py +42 -0
- lusid/models/compliance_summary_rule_result.py +94 -342
- lusid/models/compliance_summary_rule_result_request.py +94 -348
- lusid/models/compliance_template.py +89 -251
- lusid/models/compliance_template_parameter.py +55 -201
- lusid/models/compliance_template_variation.py +94 -292
- lusid/models/component_transaction.py +92 -0
- lusid/models/composite_breakdown.py +72 -188
- lusid/models/composite_breakdown_request.py +97 -281
- lusid/models/composite_breakdown_response.py +90 -186
- lusid/models/composite_dispersion.py +116 -339
- lusid/models/composite_dispersion_response.py +95 -184
- lusid/models/compounding.py +76 -299
- lusid/models/configuration_recipe.py +114 -362
- lusid/models/constant_volatility_surface.py +85 -268
- lusid/models/constituents_adjustment_header.py +73 -185
- lusid/models/contract_for_difference.py +90 -461
- lusid/models/corporate_action.py +82 -313
- lusid/models/corporate_action_source.py +104 -302
- lusid/models/corporate_action_transition.py +69 -155
- lusid/models/corporate_action_transition_component.py +59 -262
- lusid/models/corporate_action_transition_component_request.py +55 -192
- lusid/models/corporate_action_transition_request.py +69 -153
- lusid/models/counterparty_agreement.py +73 -292
- lusid/models/counterparty_risk_information.py +78 -197
- lusid/models/counterparty_signatory.py +57 -161
- lusid/models/create_address_key_definition_request.py +53 -163
- lusid/models/create_calendar_request.py +94 -262
- lusid/models/create_corporate_action_source_request.py +100 -291
- lusid/models/create_custom_entity_type_request.py +79 -242
- lusid/models/create_cut_label_definition_request.py +85 -256
- lusid/models/create_data_map_request.py +61 -155
- lusid/models/create_data_type_request.py +143 -462
- lusid/models/create_date_request.py +111 -368
- lusid/models/create_derived_property_definition_request.py +79 -331
- lusid/models/create_derived_transaction_portfolio_request.py +160 -535
- lusid/models/create_portfolio_details.py +55 -125
- lusid/models/create_portfolio_group_request.py +117 -314
- lusid/models/create_property_definition_request.py +105 -424
- lusid/models/create_recipe_request.py +90 -0
- lusid/models/create_reconciliation_request.py +140 -0
- lusid/models/create_reference_portfolio_request.py +102 -317
- lusid/models/create_relation_definition_request.py +95 -0
- lusid/models/create_relation_request.py +71 -0
- lusid/models/create_relationship_definition_request.py +112 -437
- lusid/models/create_relationship_request.py +87 -238
- lusid/models/create_sequence_request.py +105 -327
- lusid/models/create_tax_rule_set_request.py +103 -0
- lusid/models/create_trade_tickets_response.py +69 -156
- lusid/models/create_transaction_portfolio_request.py +158 -574
- lusid/models/create_unit_definition.py +83 -241
- lusid/models/credit_default_swap.py +105 -384
- lusid/models/credit_rating.py +67 -178
- lusid/models/credit_spread_curve_data.py +109 -420
- lusid/models/credit_support_annex.py +73 -432
- lusid/models/criterion_type.py +39 -0
- lusid/models/currency_and_amount.py +58 -155
- lusid/models/curve_options.py +110 -0
- lusid/models/custodian_account.py +93 -396
- lusid/models/custodian_account_properties.py +115 -0
- lusid/models/custodian_account_request.py +148 -0
- lusid/models/custodian_accounts_upsert_response.py +110 -0
- lusid/models/custom_entity_definition.py +85 -351
- lusid/models/custom_entity_definition_request.py +79 -242
- lusid/models/custom_entity_field.py +73 -222
- lusid/models/custom_entity_field_definition.py +71 -296
- lusid/models/custom_entity_id.py +91 -280
- lusid/models/custom_entity_request.py +78 -228
- lusid/models/custom_entity_response.py +118 -409
- lusid/models/custom_entity_type.py +85 -351
- lusid/models/cut_label_definition.py +111 -322
- lusid/models/cut_local_time.py +53 -154
- lusid/models/data_definition.py +86 -301
- lusid/models/data_map_key.py +83 -174
- lusid/models/data_mapping.py +64 -126
- lusid/models/data_scope.py +80 -0
- lusid/models/data_type.py +145 -506
- lusid/models/data_type_summary.py +117 -398
- lusid/models/data_type_value_range.py +38 -0
- lusid/models/date_attributes.py +140 -371
- lusid/models/date_or_diary_entry.py +91 -0
- lusid/models/date_range.py +59 -155
- lusid/models/date_time_comparison_type.py +38 -0
- lusid/models/date_time_compliance_parameter.py +74 -165
- lusid/models/date_time_list_compliance_parameter.py +77 -164
- lusid/models/day_month.py +71 -0
- lusid/models/day_of_week.py +20 -102
- lusid/models/decimal_compliance_parameter.py +73 -164
- lusid/models/decimal_list.py +73 -170
- lusid/models/decimal_list_compliance_parameter.py +77 -164
- lusid/models/decorated_compliance_run_summary.py +65 -156
- lusid/models/delete_accounts_response.py +95 -0
- lusid/models/delete_custodian_accounts_response.py +103 -0
- lusid/models/delete_instrument_properties_response.py +67 -186
- lusid/models/delete_instrument_response.py +74 -216
- lusid/models/delete_instruments_response.py +74 -217
- lusid/models/delete_modes.py +38 -0
- lusid/models/delete_relation_request.py +71 -0
- lusid/models/delete_relationship_request.py +87 -238
- lusid/models/deleted_entity_response.py +81 -306
- lusid/models/dependency_source_filter.py +70 -228
- lusid/models/described_address_key.py +81 -0
- lusid/models/dialect.py +67 -185
- lusid/models/dialect_id.py +89 -330
- lusid/models/dialect_schema.py +58 -167
- lusid/models/diary_entry.py +155 -0
- lusid/models/diary_entry_request.py +120 -0
- lusid/models/discount_factor_curve_data.py +91 -296
- lusid/models/discounting_dependency.py +76 -199
- lusid/models/discounting_method.py +39 -0
- lusid/models/dividend_option_event.py +112 -354
- lusid/models/dividend_reinvestment_event.py +105 -354
- lusid/models/economic_dependency.py +82 -150
- lusid/models/economic_dependency_type.py +50 -0
- lusid/models/economic_dependency_with_complex_market_data.py +61 -156
- lusid/models/economic_dependency_with_quote.py +68 -186
- lusid/models/election_specification.py +73 -0
- lusid/models/eligibility_calculation.py +71 -0
- lusid/models/empty_model_options.py +71 -134
- lusid/models/entity_identifier.py +60 -190
- lusid/models/equity.py +86 -225
- lusid/models/equity_all_of_identifiers.py +83 -415
- lusid/models/equity_curve_by_prices_data.py +91 -296
- lusid/models/equity_curve_dependency.py +80 -281
- lusid/models/equity_model_options.py +73 -169
- lusid/models/equity_option.py +117 -573
- lusid/models/equity_swap.py +107 -487
- lusid/models/equity_vol_dependency.py +80 -275
- lusid/models/equity_vol_surface_data.py +101 -267
- lusid/models/error_detail.py +77 -216
- lusid/models/event_date_range.py +54 -155
- lusid/models/ex_dividend_configuration.py +57 -221
- lusid/models/exchange_traded_option.py +84 -261
- lusid/models/exchange_traded_option_contract_details.py +80 -535
- lusid/models/execution.py +144 -671
- lusid/models/execution_request.py +119 -577
- lusid/models/execution_set_request.py +64 -126
- lusid/models/exercise_event.py +83 -228
- lusid/models/exotic_instrument.py +79 -199
- lusid/models/expanded_group.py +121 -338
- lusid/models/fee_rule.py +138 -0
- lusid/models/fee_rule_upsert_request.py +142 -0
- lusid/models/fee_rule_upsert_response.py +97 -0
- lusid/models/field_definition.py +62 -195
- lusid/models/field_schema.py +83 -247
- lusid/models/field_value.py +60 -165
- lusid/models/file_response.py +69 -181
- lusid/models/filter_predicate_compliance_parameter.py +73 -167
- lusid/models/filter_step.py +83 -201
- lusid/models/fixed_leg.py +95 -287
- lusid/models/fixed_leg_all_of_overrides.py +65 -154
- lusid/models/fixed_schedule.py +131 -0
- lusid/models/flexible_loan.py +88 -263
- lusid/models/float_schedule.py +155 -0
- lusid/models/floating_leg.py +109 -349
- lusid/models/flow_convention_name.py +60 -193
- lusid/models/flow_conventions.py +120 -607
- lusid/models/forward_rate_agreement.py +90 -356
- lusid/models/from_recipe.py +81 -0
- lusid/models/fund.py +182 -0
- lusid/models/fund_properties.py +115 -0
- lusid/models/fund_request.py +165 -0
- lusid/models/fund_share_class.py +81 -336
- lusid/models/funding_leg.py +89 -259
- lusid/models/funding_leg_options.py +91 -0
- lusid/models/future.py +100 -388
- lusid/models/futures_contract_details.py +112 -562
- lusid/models/fx_conventions.py +55 -198
- lusid/models/fx_dependency.py +78 -231
- lusid/models/fx_forward.py +99 -481
- lusid/models/fx_forward_curve_by_quote_reference.py +114 -387
- lusid/models/fx_forward_curve_data.py +95 -360
- lusid/models/fx_forward_model_options.py +91 -242
- lusid/models/fx_forward_pips_curve_data.py +95 -360
- lusid/models/fx_forward_settlement_event.py +119 -507
- lusid/models/fx_forward_tenor_curve_data.py +117 -420
- lusid/models/fx_forward_tenor_pips_curve_data.py +117 -420
- lusid/models/fx_forwards_dependency.py +80 -269
- lusid/models/fx_linked_notional_schedule.py +90 -255
- lusid/models/fx_option.py +159 -629
- lusid/models/fx_rate_schedule.py +111 -0
- lusid/models/fx_swap.py +89 -224
- lusid/models/fx_tenor_convention.py +53 -166
- lusid/models/fx_vol_dependency.py +80 -269
- lusid/models/fx_vol_surface_data.py +101 -267
- lusid/models/general_ledger_profile_mapping.py +78 -0
- lusid/models/general_ledger_profile_request.py +112 -0
- lusid/models/general_ledger_profile_response.py +146 -0
- lusid/models/get_cds_flow_conventions_response.py +115 -0
- lusid/models/get_complex_market_data_response.py +111 -214
- lusid/models/get_counterparty_agreement_response.py +97 -213
- lusid/models/get_credit_support_annex_response.py +97 -213
- lusid/models/get_data_map_response.py +129 -0
- lusid/models/get_flow_conventions_response.py +115 -0
- lusid/models/get_index_convention_response.py +115 -0
- lusid/models/get_instruments_response.py +111 -214
- lusid/models/get_quotes_response.py +130 -244
- lusid/models/get_recipe_composer_response.py +95 -0
- lusid/models/get_recipe_response.py +77 -183
- lusid/models/get_reference_portfolio_constituents_response.py +117 -319
- lusid/models/get_structured_result_data_response.py +111 -214
- lusid/models/get_virtual_document_response.py +129 -0
- lusid/models/group_by_selector_compliance_parameter.py +73 -167
- lusid/models/group_by_step.py +83 -201
- lusid/models/group_filter_predicate_compliance_parameter.py +73 -167
- lusid/models/group_filter_step.py +92 -201
- lusid/models/group_of_market_data_key_rules.py +61 -163
- lusid/models/grouped_result_of_address_key.py +89 -0
- lusid/models/holding_adjustment.py +121 -313
- lusid/models/holding_adjustment_with_date.py +124 -345
- lusid/models/holding_context.py +51 -127
- lusid/models/holding_contributor.py +55 -156
- lusid/models/holdings_adjustment.py +92 -257
- lusid/models/holdings_adjustment_header.py +82 -225
- lusid/models/i_unit_definition_dto.py +85 -217
- lusid/models/id_selector_definition.py +75 -227
- lusid/models/identifier_part_schema.py +74 -283
- lusid/models/index_convention.py +100 -388
- lusid/models/index_model_options.py +80 -172
- lusid/models/index_projection_dependency.py +80 -275
- lusid/models/industry_classifier.py +60 -172
- lusid/models/inflation_fixing_dependency.py +78 -237
- lusid/models/inflation_index_conventions.py +71 -307
- lusid/models/inflation_leg.py +120 -455
- lusid/models/inflation_linked_bond.py +153 -601
- lusid/models/inflation_swap.py +88 -259
- lusid/models/informational_error_event.py +78 -237
- lusid/models/informational_event.py +86 -262
- lusid/models/inline_valuation_request.py +150 -497
- lusid/models/inline_valuations_reconciliation_request.py +82 -216
- lusid/models/input_transition.py +53 -160
- lusid/models/instrument.py +160 -597
- lusid/models/instrument_capabilities.py +133 -0
- lusid/models/instrument_cash_flow.py +90 -386
- lusid/models/instrument_definition.py +93 -280
- lusid/models/instrument_definition_format.py +55 -201
- lusid/models/instrument_delete_modes.py +38 -0
- lusid/models/instrument_event.py +86 -182
- lusid/models/instrument_event_configuration.py +56 -156
- lusid/models/instrument_event_holder.py +115 -490
- lusid/models/instrument_event_type.py +57 -0
- lusid/models/instrument_id_type_descriptor.py +55 -195
- lusid/models/instrument_id_value.py +54 -163
- lusid/models/instrument_leg.py +82 -143
- lusid/models/instrument_list.py +73 -170
- lusid/models/instrument_list_compliance_parameter.py +77 -164
- lusid/models/instrument_match.py +78 -156
- lusid/models/instrument_models.py +78 -184
- lusid/models/instrument_payment_diary.py +131 -0
- lusid/models/instrument_payment_diary_leg.py +91 -0
- lusid/models/instrument_payment_diary_row.py +132 -0
- lusid/models/instrument_properties.py +97 -213
- lusid/models/instrument_resolution_detail.py +105 -0
- lusid/models/instrument_search_property.py +53 -163
- lusid/models/instrument_type.py +74 -0
- lusid/models/interest_rate_swap.py +110 -322
- lusid/models/interest_rate_swaption.py +90 -296
- lusid/models/intermediate_compliance_step.py +110 -0
- lusid/models/ir_vol_cube_data.py +101 -267
- lusid/models/ir_vol_dependency.py +78 -237
- lusid/models/is_business_day_response.py +54 -157
- lusid/models/journal_entry_line.py +224 -0
- lusid/models/journal_entry_lines_query_parameters.py +109 -0
- lusid/models/label_value_set.py +51 -129
- lusid/models/leg_definition.py +143 -619
- lusid/models/legal_entity.py +158 -392
- lusid/models/level_step.py +54 -161
- lusid/models/life_cycle_event_lineage.py +84 -246
- lusid/models/life_cycle_event_value.py +86 -224
- lusid/models/lineage_member.py +69 -276
- lusid/models/link.py +62 -214
- lusid/models/list_aggregation_reconciliation.py +73 -211
- lusid/models/list_aggregation_response.py +111 -324
- lusid/models/list_complex_market_data_with_meta_data_response.py +86 -0
- lusid/models/loan_period.py +56 -187
- lusid/models/lock_period_diary_entry_request.py +91 -0
- lusid/models/lusid_instrument.py +99 -168
- lusid/models/lusid_problem_details.py +95 -327
- lusid/models/lusid_trade_ticket.py +155 -639
- lusid/models/lusid_unique_id.py +53 -166
- lusid/models/lusid_validation_problem_details.py +106 -356
- lusid/models/mapped_string.py +72 -209
- lusid/models/mapping.py +93 -281
- lusid/models/mapping_rule.py +96 -308
- lusid/models/market_context.py +111 -243
- lusid/models/market_context_suppliers.py +59 -241
- lusid/models/market_data_key_rule.py +114 -493
- lusid/models/market_data_options.py +73 -141
- lusid/models/market_data_options_type.py +37 -0
- lusid/models/market_data_overrides.py +79 -156
- lusid/models/market_data_specific_rule.py +115 -525
- lusid/models/market_data_type.py +50 -0
- lusid/models/market_observable_type.py +41 -0
- lusid/models/market_options.py +108 -318
- lusid/models/market_quote.py +60 -166
- lusid/models/match_criterion.py +95 -0
- lusid/models/maturity_event.py +74 -167
- lusid/models/metric_value.py +58 -155
- lusid/models/model_options.py +76 -144
- lusid/models/model_options_type.py +43 -0
- lusid/models/model_property.py +72 -218
- lusid/models/model_schema.py +116 -0
- lusid/models/model_selection.py +67 -172
- lusid/models/move_orders_to_different_blocks_request.py +59 -134
- lusid/models/moved_order_to_different_block_response.py +67 -183
- lusid/models/movement_type.py +56 -0
- lusid/models/multi_currency_amounts.py +71 -0
- lusid/models/next_value_in_sequence_response.py +66 -156
- lusid/models/numeric_comparison_type.py +39 -0
- lusid/models/opaque_dependency.py +71 -134
- lusid/models/opaque_market_data.py +84 -275
- lusid/models/opaque_model_options.py +73 -164
- lusid/models/open_event.py +74 -166
- lusid/models/operand_type.py +38 -0
- lusid/models/operation.py +67 -221
- lusid/models/operation_type.py +37 -0
- lusid/models/operator.py +43 -0
- lusid/models/option_entry.py +71 -0
- lusid/models/optionality_schedule.py +118 -0
- lusid/models/order.py +173 -704
- lusid/models/order_by_spec.py +60 -166
- lusid/models/order_flow_configuration.py +51 -131
- lusid/models/order_graph_block.py +85 -381
- lusid/models/order_graph_block_allocation_detail.py +55 -126
- lusid/models/order_graph_block_allocation_synopsis.py +61 -160
- lusid/models/order_graph_block_execution_detail.py +55 -126
- lusid/models/order_graph_block_execution_synopsis.py +61 -160
- lusid/models/order_graph_block_order_detail.py +83 -314
- lusid/models/order_graph_block_order_synopsis.py +61 -190
- lusid/models/order_graph_block_placement_detail.py +55 -126
- lusid/models/order_graph_block_placement_synopsis.py +61 -190
- lusid/models/order_graph_placement.py +94 -341
- lusid/models/order_graph_placement_allocation_detail.py +55 -126
- lusid/models/order_graph_placement_allocation_synopsis.py +61 -160
- lusid/models/order_graph_placement_child_placement_detail.py +55 -126
- lusid/models/order_graph_placement_execution_detail.py +55 -126
- lusid/models/order_graph_placement_execution_synopsis.py +61 -160
- lusid/models/order_graph_placement_order_detail.py +55 -126
- lusid/models/order_graph_placement_order_synopsis.py +59 -128
- lusid/models/order_graph_placement_placement_synopsis.py +61 -160
- lusid/models/order_instruction.py +157 -0
- lusid/models/order_instruction_request.py +127 -0
- lusid/models/order_instruction_set_request.py +82 -0
- lusid/models/order_request.py +141 -580
- lusid/models/order_set_request.py +64 -126
- lusid/models/otc_confirmation.py +55 -125
- lusid/models/output_transaction.py +189 -905
- lusid/models/output_transition.py +77 -281
- lusid/models/package.py +132 -0
- lusid/models/package_request.py +111 -0
- lusid/models/package_set_request.py +82 -0
- lusid/models/paged_resource_list_of_abor.py +113 -0
- lusid/models/paged_resource_list_of_abor_configuration.py +113 -0
- lusid/models/paged_resource_list_of_account.py +113 -0
- lusid/models/paged_resource_list_of_address_key_definition.py +95 -238
- lusid/models/paged_resource_list_of_allocation.py +95 -238
- lusid/models/paged_resource_list_of_block.py +95 -238
- lusid/models/paged_resource_list_of_calendar.py +95 -238
- lusid/models/paged_resource_list_of_chart_of_accounts.py +113 -0
- lusid/models/paged_resource_list_of_cleardown_module_response.py +113 -0
- lusid/models/paged_resource_list_of_cleardown_module_rule.py +113 -0
- lusid/models/paged_resource_list_of_compliance_rule_response.py +95 -238
- lusid/models/paged_resource_list_of_compliance_run_info_v2.py +95 -238
- lusid/models/paged_resource_list_of_compliance_template.py +95 -238
- lusid/models/paged_resource_list_of_corporate_action_source.py +95 -238
- lusid/models/paged_resource_list_of_custodian_account.py +113 -0
- lusid/models/paged_resource_list_of_custom_entity_definition.py +95 -238
- lusid/models/paged_resource_list_of_custom_entity_response.py +95 -238
- lusid/models/paged_resource_list_of_custom_entity_type.py +95 -238
- lusid/models/paged_resource_list_of_cut_label_definition.py +95 -238
- lusid/models/paged_resource_list_of_data_type_summary.py +95 -238
- lusid/models/paged_resource_list_of_dialect_id.py +95 -238
- lusid/models/paged_resource_list_of_diary_entry.py +113 -0
- lusid/models/paged_resource_list_of_execution.py +95 -238
- lusid/models/paged_resource_list_of_fund.py +113 -0
- lusid/models/paged_resource_list_of_general_ledger_profile_response.py +113 -0
- lusid/models/paged_resource_list_of_instrument.py +95 -238
- lusid/models/paged_resource_list_of_instrument_event_holder.py +95 -238
- lusid/models/paged_resource_list_of_legal_entity.py +95 -238
- lusid/models/paged_resource_list_of_order.py +95 -238
- lusid/models/paged_resource_list_of_order_graph_block.py +95 -238
- lusid/models/paged_resource_list_of_order_graph_placement.py +95 -238
- lusid/models/paged_resource_list_of_order_instruction.py +113 -0
- lusid/models/paged_resource_list_of_package.py +113 -0
- lusid/models/paged_resource_list_of_participation.py +95 -238
- lusid/models/paged_resource_list_of_person.py +95 -238
- lusid/models/paged_resource_list_of_placement.py +95 -238
- lusid/models/paged_resource_list_of_portfolio_group.py +95 -238
- lusid/models/paged_resource_list_of_portfolio_group_search_result.py +95 -238
- lusid/models/paged_resource_list_of_portfolio_search_result.py +95 -238
- lusid/models/paged_resource_list_of_posting_module_response.py +113 -0
- lusid/models/paged_resource_list_of_posting_module_rule.py +113 -0
- lusid/models/paged_resource_list_of_property_definition.py +95 -238
- lusid/models/paged_resource_list_of_property_definition_search_result.py +95 -238
- lusid/models/paged_resource_list_of_reconciliation.py +113 -0
- lusid/models/paged_resource_list_of_reference_list_response.py +95 -238
- lusid/models/paged_resource_list_of_relationship_definition.py +95 -238
- lusid/models/paged_resource_list_of_sequence_definition.py +95 -238
- lusid/models/paged_resource_list_of_transaction_template.py +113 -0
- lusid/models/paged_resource_list_of_transaction_template_specification.py +113 -0
- lusid/models/paged_resource_list_of_translation_script_id.py +95 -238
- lusid/models/paged_resource_list_of_virtual_row.py +95 -238
- lusid/models/participation.py +86 -243
- lusid/models/participation_request.py +65 -186
- lusid/models/participation_set_request.py +64 -126
- lusid/models/performance_return.py +75 -251
- lusid/models/performance_returns_metric.py +83 -309
- lusid/models/period_diary_entries_reopened_response.py +104 -0
- lusid/models/period_type.py +41 -0
- lusid/models/perpetual_entity_state.py +39 -0
- lusid/models/perpetual_property.py +57 -157
- lusid/models/person.py +137 -363
- lusid/models/place_blocks_request.py +59 -134
- lusid/models/placement.py +161 -696
- lusid/models/placement_request.py +136 -614
- lusid/models/placement_set_request.py +64 -126
- lusid/models/portfolio.py +200 -744
- lusid/models/portfolio_cash_flow.py +139 -591
- lusid/models/portfolio_cash_ladder.py +116 -248
- lusid/models/portfolio_details.py +143 -547
- lusid/models/portfolio_entity_id.py +90 -214
- lusid/models/portfolio_group.py +138 -400
- lusid/models/portfolio_group_id_compliance_parameter.py +77 -164
- lusid/models/portfolio_group_id_list.py +81 -167
- lusid/models/portfolio_group_id_list_compliance_parameter.py +77 -164
- lusid/models/portfolio_group_properties.py +97 -213
- lusid/models/portfolio_group_search_result.py +123 -370
- lusid/models/portfolio_holding.py +167 -674
- lusid/models/portfolio_id_compliance_parameter.py +77 -164
- lusid/models/portfolio_id_list.py +81 -167
- lusid/models/portfolio_id_list_compliance_parameter.py +77 -164
- lusid/models/portfolio_properties.py +97 -242
- lusid/models/portfolio_reconciliation_request.py +65 -192
- lusid/models/portfolio_result_data_key_rule.py +133 -392
- lusid/models/portfolio_return_breakdown.py +109 -492
- lusid/models/portfolio_search_result.py +128 -440
- lusid/models/portfolio_trade_ticket.py +79 -0
- lusid/models/portfolio_type.py +39 -0
- lusid/models/portfolios_reconciliation_request.py +62 -188
- lusid/models/posting_module_details.py +95 -0
- lusid/models/posting_module_request.py +117 -0
- lusid/models/posting_module_response.py +139 -0
- lusid/models/posting_module_rule.py +119 -0
- lusid/models/posting_module_rules_updated_response.py +110 -0
- lusid/models/premium.py +56 -193
- lusid/models/pricing_context.py +105 -244
- lusid/models/pricing_model.py +55 -0
- lusid/models/pricing_options.py +80 -463
- lusid/models/processed_command.py +67 -224
- lusid/models/property_definition.py +234 -763
- lusid/models/property_definition_search_result.py +202 -646
- lusid/models/property_definition_type.py +38 -0
- lusid/models/property_domain.py +75 -0
- lusid/models/property_filter.py +87 -228
- lusid/models/property_interval.py +68 -221
- lusid/models/property_key_compliance_parameter.py +73 -166
- lusid/models/property_key_list_compliance_parameter.py +77 -164
- lusid/models/property_life_time.py +38 -0
- lusid/models/property_schema.py +91 -180
- lusid/models/property_type.py +39 -0
- lusid/models/property_value.py +68 -184
- lusid/models/property_value_equals.py +93 -0
- lusid/models/property_value_in.py +93 -0
- lusid/models/query_bucketed_cash_flows_request.py +145 -636
- lusid/models/query_cash_flows_request.py +96 -0
- lusid/models/query_instrument_events_request.py +113 -0
- lusid/models/query_trade_tickets_request.py +96 -0
- lusid/models/quote.py +87 -313
- lusid/models/quote_access_metadata_rule.py +92 -0
- lusid/models/quote_access_metadata_rule_id.py +129 -0
- lusid/models/quote_dependency.py +78 -240
- lusid/models/quote_id.py +57 -161
- lusid/models/quote_instrument_id_type.py +45 -0
- lusid/models/quote_series_id.py +96 -307
- lusid/models/quote_type.py +50 -0
- lusid/models/raw_vendor_event.py +82 -232
- lusid/models/re_open_period_diary_entry_request.py +84 -0
- lusid/models/realised_gain_loss.py +115 -462
- lusid/models/recipe_block.py +87 -0
- lusid/models/recipe_composer.py +100 -0
- lusid/models/recipe_value.py +87 -0
- lusid/models/recombine_step.py +83 -201
- lusid/models/reconcile_date_time_rule.py +88 -233
- lusid/models/reconcile_numeric_rule.py +88 -233
- lusid/models/reconcile_string_rule.py +102 -232
- lusid/models/reconciled_transaction.py +69 -215
- lusid/models/reconciliation.py +165 -0
- lusid/models/reconciliation_break.py +105 -411
- lusid/models/reconciliation_configuration.py +84 -0
- lusid/models/reconciliation_id.py +80 -0
- lusid/models/reconciliation_left_right_address_key_pair.py +53 -160
- lusid/models/reconciliation_line.py +77 -216
- lusid/models/reconciliation_request.py +97 -246
- lusid/models/reconciliation_response.py +70 -155
- lusid/models/reconciliation_rule.py +74 -143
- lusid/models/reconciliation_rule_type.py +40 -0
- lusid/models/reconciliation_side_configuration.py +94 -0
- lusid/models/reconciliation_transactions.py +79 -0
- lusid/models/reference_data.py +69 -156
- lusid/models/reference_instrument.py +77 -239
- lusid/models/reference_list.py +77 -148
- lusid/models/reference_list_request.py +77 -251
- lusid/models/reference_list_response.py +98 -309
- lusid/models/reference_list_type.py +42 -0
- lusid/models/reference_portfolio_constituent.py +96 -307
- lusid/models/reference_portfolio_constituent_request.py +80 -214
- lusid/models/reference_portfolio_weight_type.py +39 -0
- lusid/models/related_entity.py +105 -349
- lusid/models/relation.py +70 -281
- lusid/models/relation_definition.py +143 -0
- lusid/models/relationship.py +76 -318
- lusid/models/relationship_definition.py +111 -446
- lusid/models/relative_date_offset.py +53 -193
- lusid/models/repo.py +136 -476
- lusid/models/reset_event.py +90 -262
- lusid/models/resource_id.py +53 -172
- lusid/models/resource_list_of_access_controlled_resource.py +95 -238
- lusid/models/resource_list_of_access_metadata_value_of.py +100 -238
- lusid/models/resource_list_of_address_key_definition.py +95 -238
- lusid/models/resource_list_of_aggregated_return.py +95 -238
- lusid/models/resource_list_of_aggregation_query.py +95 -238
- lusid/models/resource_list_of_allocation.py +95 -238
- lusid/models/resource_list_of_block.py +95 -238
- lusid/models/resource_list_of_block_and_orders.py +95 -238
- lusid/models/resource_list_of_calendar_date.py +95 -238
- lusid/models/resource_list_of_change.py +95 -238
- lusid/models/resource_list_of_change_history.py +95 -238
- lusid/models/resource_list_of_compliance_breached_order_info.py +113 -0
- lusid/models/resource_list_of_compliance_rule.py +113 -0
- lusid/models/resource_list_of_compliance_rule_result.py +113 -0
- lusid/models/resource_list_of_compliance_run_info.py +113 -0
- lusid/models/resource_list_of_constituents_adjustment_header.py +95 -238
- lusid/models/resource_list_of_corporate_action.py +95 -238
- lusid/models/resource_list_of_data_type.py +95 -238
- lusid/models/resource_list_of_execution.py +95 -238
- lusid/models/resource_list_of_fee_rule.py +113 -0
- lusid/models/resource_list_of_get_cds_flow_conventions_response.py +113 -0
- lusid/models/resource_list_of_get_counterparty_agreement_response.py +95 -238
- lusid/models/resource_list_of_get_credit_support_annex_response.py +95 -238
- lusid/models/resource_list_of_get_flow_conventions_response.py +113 -0
- lusid/models/resource_list_of_get_index_convention_response.py +113 -0
- lusid/models/resource_list_of_get_recipe_composer_response.py +113 -0
- lusid/models/resource_list_of_get_recipe_response.py +95 -238
- lusid/models/resource_list_of_holdings_adjustment_header.py +95 -238
- lusid/models/resource_list_of_i_unit_definition_dto.py +95 -238
- lusid/models/resource_list_of_instrument_cash_flow.py +95 -238
- lusid/models/resource_list_of_instrument_event_holder.py +113 -0
- lusid/models/resource_list_of_instrument_id_type_descriptor.py +95 -238
- lusid/models/resource_list_of_legal_entity.py +95 -238
- lusid/models/resource_list_of_list_complex_market_data_with_meta_data_response.py +113 -0
- lusid/models/resource_list_of_mapping.py +95 -238
- lusid/models/resource_list_of_moved_order_to_different_block_response.py +95 -238
- lusid/models/resource_list_of_order.py +95 -238
- lusid/models/resource_list_of_order_instruction.py +113 -0
- lusid/models/resource_list_of_package.py +113 -0
- lusid/models/resource_list_of_participation.py +95 -238
- lusid/models/resource_list_of_performance_return.py +95 -238
- lusid/models/resource_list_of_person.py +95 -238
- lusid/models/resource_list_of_placement.py +95 -238
- lusid/models/resource_list_of_portfolio.py +95 -238
- lusid/models/resource_list_of_portfolio_cash_flow.py +95 -238
- lusid/models/resource_list_of_portfolio_cash_ladder.py +95 -238
- lusid/models/resource_list_of_portfolio_trade_ticket.py +113 -0
- lusid/models/resource_list_of_processed_command.py +95 -238
- lusid/models/resource_list_of_property.py +95 -238
- lusid/models/resource_list_of_property_definition.py +95 -238
- lusid/models/resource_list_of_property_interval.py +95 -238
- lusid/models/resource_list_of_quote.py +95 -238
- lusid/models/resource_list_of_quote_access_metadata_rule.py +113 -0
- lusid/models/resource_list_of_reconciliation_break.py +95 -238
- lusid/models/resource_list_of_relation.py +95 -238
- lusid/models/resource_list_of_relationship.py +95 -238
- lusid/models/resource_list_of_scope_definition.py +95 -238
- lusid/models/resource_list_of_side_definition.py +95 -238
- lusid/models/resource_list_of_string.py +87 -238
- lusid/models/resource_list_of_tax_rule_set.py +113 -0
- lusid/models/resource_list_of_transaction.py +95 -238
- lusid/models/resource_list_of_transaction_type.py +95 -238
- lusid/models/resource_list_of_value_type.py +88 -238
- lusid/models/response_meta_data.py +77 -216
- lusid/models/result_data_key_rule.py +103 -389
- lusid/models/result_data_schema.py +108 -184
- lusid/models/result_key_rule.py +74 -143
- lusid/models/result_key_rule_type.py +39 -0
- lusid/models/result_value.py +80 -149
- lusid/models/result_value0_d.py +87 -225
- lusid/models/result_value_bool.py +73 -165
- lusid/models/result_value_currency.py +78 -164
- lusid/models/result_value_date_time_offset.py +81 -196
- lusid/models/result_value_decimal.py +80 -195
- lusid/models/result_value_dictionary.py +89 -163
- lusid/models/result_value_int.py +80 -195
- lusid/models/result_value_string.py +78 -164
- lusid/models/result_value_type.py +48 -0
- lusid/models/rounding_configuration.py +55 -125
- lusid/models/rounding_configuration_component.py +51 -131
- lusid/models/rounding_convention.py +67 -218
- lusid/models/scaling_methodology.py +39 -0
- lusid/models/schedule.py +78 -143
- lusid/models/schedule_type.py +44 -0
- lusid/models/scope_definition.py +51 -131
- lusid/models/script_map_reference.py +76 -219
- lusid/models/security_election.py +68 -252
- lusid/models/sequence_definition.py +94 -374
- lusid/models/set_legal_entity_identifiers_request.py +69 -126
- lusid/models/set_legal_entity_properties_request.py +69 -126
- lusid/models/set_person_identifiers_request.py +69 -126
- lusid/models/set_person_properties_request.py +64 -128
- lusid/models/set_transaction_configuration_alias.py +84 -0
- lusid/models/set_transaction_configuration_source_request.py +107 -0
- lusid/models/side_configuration_data.py +76 -334
- lusid/models/side_configuration_data_request.py +79 -0
- lusid/models/side_definition.py +83 -388
- lusid/models/side_definition_request.py +66 -322
- lusid/models/sides_definition_request.py +57 -164
- lusid/models/simple_cash_flow_loan.py +88 -263
- lusid/models/simple_instrument.py +94 -301
- lusid/models/sort_order.py +38 -0
- lusid/models/step_schedule.py +85 -236
- lusid/models/stock_split_event.py +78 -349
- lusid/models/stream.py +70 -328
- lusid/models/string_comparison_type.py +41 -0
- lusid/models/string_compliance_parameter.py +73 -167
- lusid/models/string_list.py +73 -170
- lusid/models/string_list_compliance_parameter.py +77 -164
- lusid/models/structured_result_data.py +73 -267
- lusid/models/structured_result_data_id.py +89 -236
- lusid/models/sub_holding_key_value_equals.py +93 -0
- lusid/models/target_tax_lot.py +86 -368
- lusid/models/target_tax_lot_request.py +86 -368
- lusid/models/tax_rule.py +97 -0
- lusid/models/tax_rule_set.py +124 -0
- lusid/models/template_field.py +77 -0
- lusid/models/term_deposit.py +93 -323
- lusid/models/total_return_swap.py +88 -259
- lusid/models/touch.py +62 -228
- lusid/models/trade_ticket.py +76 -0
- lusid/models/trade_ticket_type.py +38 -0
- lusid/models/transaction.py +181 -812
- lusid/models/transaction_configuration_data.py +89 -190
- lusid/models/transaction_configuration_data_request.py +89 -190
- lusid/models/transaction_configuration_movement_data.py +110 -320
- lusid/models/transaction_configuration_movement_data_request.py +110 -320
- lusid/models/transaction_configuration_type_alias.py +90 -339
- lusid/models/transaction_currency_and_amount.py +81 -0
- lusid/models/transaction_field_map.py +97 -0
- lusid/models/transaction_price.py +63 -162
- lusid/models/transaction_price_and_type.py +81 -0
- lusid/models/transaction_price_type.py +40 -0
- lusid/models/transaction_property_map.py +80 -0
- lusid/models/transaction_property_mapping.py +65 -188
- lusid/models/transaction_property_mapping_request.py +65 -188
- lusid/models/transaction_query_mode.py +38 -0
- lusid/models/transaction_query_parameters.py +67 -234
- lusid/models/transaction_reconciliation_request.py +84 -302
- lusid/models/transaction_reconciliation_request_v2.py +115 -0
- lusid/models/transaction_request.py +143 -661
- lusid/models/transaction_roles.py +44 -0
- lusid/models/transaction_set_configuration_data.py +89 -186
- lusid/models/transaction_set_configuration_data_request.py +92 -0
- lusid/models/transaction_status.py +39 -0
- lusid/models/transaction_template.py +100 -0
- lusid/models/transaction_template_request.py +79 -0
- lusid/models/transaction_template_specification.py +99 -0
- lusid/models/transaction_type.py +119 -248
- lusid/models/transaction_type_alias.py +73 -282
- lusid/models/transaction_type_calculation.py +60 -206
- lusid/models/transaction_type_movement.py +128 -405
- lusid/models/transaction_type_property_mapping.py +75 -197
- lusid/models/transaction_type_request.py +104 -220
- lusid/models/transactions_reconciliations_response.py +70 -155
- lusid/models/transition_event.py +101 -318
- lusid/models/translate_entities_inlined_request.py +72 -195
- lusid/models/translate_entities_request.py +76 -187
- lusid/models/translate_entities_response.py +104 -184
- lusid/models/translate_instrument_definitions_request.py +91 -0
- lusid/models/translate_instrument_definitions_response.py +129 -0
- lusid/models/translate_trade_ticket_request.py +91 -0
- lusid/models/translate_trade_tickets_response.py +129 -0
- lusid/models/translation_context.py +57 -154
- lusid/models/translation_input.py +51 -134
- lusid/models/translation_result.py +66 -163
- lusid/models/translation_script.py +63 -193
- lusid/models/translation_script_id.py +76 -219
- lusid/models/trial_balance.py +138 -0
- lusid/models/trial_balance_query_parameters.py +111 -0
- lusid/models/trigger_event.py +82 -301
- lusid/models/typed_resource_id.py +76 -219
- lusid/models/unit_schema.py +39 -0
- lusid/models/units_ratio.py +53 -160
- lusid/models/unmatched_holding_method.py +38 -0
- lusid/models/update_calendar_request.py +74 -195
- lusid/models/update_custom_entity_definition_request.py +77 -204
- lusid/models/update_custom_entity_type_request.py +77 -204
- lusid/models/update_cut_label_definition_request.py +83 -226
- lusid/models/update_data_type_request.py +105 -234
- lusid/models/update_derived_property_definition_request.py +66 -229
- lusid/models/update_instrument_identifier_request.py +65 -191
- lusid/models/update_portfolio_group_request.py +58 -161
- lusid/models/update_portfolio_request.py +58 -161
- lusid/models/update_property_definition_request.py +58 -164
- lusid/models/update_reconciliation_request.py +131 -0
- lusid/models/update_relationship_definition_request.py +76 -219
- lusid/models/update_tax_rule_set_request.py +95 -0
- lusid/models/update_unit_request.py +100 -207
- lusid/models/upsert_cds_flow_conventions_request.py +73 -0
- lusid/models/upsert_complex_market_data_request.py +61 -156
- lusid/models/upsert_compliance_rule_request.py +113 -380
- lusid/models/upsert_compliance_run_summary_request.py +72 -250
- lusid/models/upsert_compliance_run_summary_result.py +72 -250
- lusid/models/upsert_corporate_action_request.py +94 -337
- lusid/models/upsert_corporate_actions_response.py +111 -214
- lusid/models/upsert_counterparty_agreement_request.py +55 -126
- lusid/models/upsert_credit_support_annex_request.py +55 -125
- lusid/models/upsert_custom_entities_response.py +111 -244
- lusid/models/upsert_custom_entity_access_metadata_request.py +64 -126
- lusid/models/upsert_dialect_request.py +61 -156
- lusid/models/upsert_flow_conventions_request.py +73 -0
- lusid/models/upsert_index_convention_request.py +73 -0
- lusid/models/upsert_instrument_event_request.py +107 -329
- lusid/models/upsert_instrument_events_response.py +111 -214
- lusid/models/upsert_instrument_properties_response.py +67 -157
- lusid/models/upsert_instrument_property_request.py +68 -196
- lusid/models/upsert_instruments_response.py +135 -274
- lusid/models/upsert_legal_entities_response.py +111 -214
- lusid/models/upsert_legal_entity_access_metadata_request.py +64 -126
- lusid/models/upsert_legal_entity_request.py +115 -267
- lusid/models/upsert_person_access_metadata_request.py +64 -126
- lusid/models/upsert_person_request.py +92 -232
- lusid/models/upsert_portfolio_access_metadata_request.py +59 -128
- lusid/models/upsert_portfolio_group_access_metadata_request.py +59 -128
- lusid/models/upsert_portfolio_transactions_response.py +101 -214
- lusid/models/upsert_quote_access_metadata_rule_request.py +92 -0
- lusid/models/upsert_quote_request.py +75 -215
- lusid/models/upsert_quotes_response.py +111 -214
- lusid/models/upsert_recipe_composer_request.py +73 -0
- lusid/models/upsert_recipe_request.py +55 -125
- lusid/models/upsert_reference_portfolio_constituents_request.py +94 -265
- lusid/models/upsert_reference_portfolio_constituents_response.py +77 -181
- lusid/models/upsert_result_values_data_request.py +93 -0
- lusid/models/upsert_returns_response.py +100 -245
- lusid/models/upsert_single_structured_data_response.py +74 -186
- lusid/models/upsert_structured_data_response.py +99 -215
- lusid/models/upsert_structured_result_data_request.py +61 -155
- lusid/models/upsert_transaction_properties_response.py +97 -211
- lusid/models/upsert_translation_script_request.py +57 -164
- lusid/models/user.py +56 -126
- lusid/models/valuation_request.py +156 -528
- lusid/models/valuation_schedule.py +93 -329
- lusid/models/valuations_reconciliation_request.py +82 -216
- lusid/models/value_type.py +34 -116
- lusid/models/vendor_dependency.py +95 -0
- lusid/models/vendor_library.py +43 -0
- lusid/models/vendor_model_rule.py +97 -335
- lusid/models/version.py +110 -431
- lusid/models/version_summary_dto.py +85 -208
- lusid/models/versioned_resource_list_of_a2_b_data_record.py +101 -268
- lusid/models/versioned_resource_list_of_a2_b_movement_record.py +101 -268
- lusid/models/versioned_resource_list_of_holding_contributor.py +101 -268
- lusid/models/versioned_resource_list_of_journal_entry_line.py +119 -0
- lusid/models/versioned_resource_list_of_output_transaction.py +101 -268
- lusid/models/versioned_resource_list_of_portfolio_holding.py +101 -268
- lusid/models/versioned_resource_list_of_transaction.py +101 -268
- lusid/models/versioned_resource_list_of_trial_balance.py +119 -0
- lusid/models/versioned_resource_list_with_warnings_of_portfolio_holding.py +134 -0
- lusid/models/virtual_document.py +88 -0
- lusid/models/virtual_document_row.py +80 -0
- lusid/models/virtual_row.py +76 -156
- lusid/models/warning.py +71 -0
- lusid/models/weekend_mask.py +61 -165
- lusid/models/weighted_instrument.py +75 -256
- lusid/models/weighted_instrument_in_line_lookup_identifiers.py +71 -415
- lusid/models/weighted_instruments.py +59 -128
- lusid/models/yield_curve_data.py +107 -296
- lusid/py.typed +0 -0
- lusid/rest.py +171 -237
- lusid_sdk-2.0.430.dist-info/METADATA +1639 -0
- lusid_sdk-2.0.430.dist-info/RECORD +995 -0
- {lusid_sdk-1.1.257.dist-info → lusid_sdk-2.0.430.dist-info}/WHEEL +1 -2
- lusid/__version__.py +0 -1
- lusid/api/queryable_keys_api.py +0 -196
- lusid/models/accumulation_event_all_of.py +0 -310
- lusid/models/address_key_compliance_parameter_all_of.py +0 -184
- lusid/models/address_key_list_all_of.py +0 -188
- lusid/models/address_key_list_compliance_parameter_all_of.py +0 -182
- lusid/models/amortisation_event_all_of.py +0 -283
- lusid/models/basket_all_of.py +0 -247
- lusid/models/batch_upsert_dates_for_calendar_response.py +0 -232
- lusid/models/batch_upsert_portfolio_access_metadata_request.py +0 -174
- lusid/models/batch_upsert_portfolio_access_metadata_response.py +0 -202
- lusid/models/batch_upsert_portfolio_access_metadata_response_item.py +0 -174
- lusid/models/bond_all_of.py +0 -587
- lusid/models/bond_coupon_event_all_of.py +0 -278
- lusid/models/bond_default_event_all_of.py +0 -184
- lusid/models/bond_principal_event_all_of.py +0 -278
- lusid/models/bonus_issue_event.py +0 -426
- lusid/models/bonus_issue_event_all_of.py +0 -426
- lusid/models/bool_compliance_parameter_all_of.py +0 -182
- lusid/models/branch_step_all_of.py +0 -219
- lusid/models/branch_step_request.py +0 -193
- lusid/models/branch_step_request_all_of.py +0 -193
- lusid/models/calendar_dependency_all_of.py +0 -184
- lusid/models/call_on_intermediate_securities_event.py +0 -400
- lusid/models/call_on_intermediate_securities_event_all_of.py +0 -400
- lusid/models/cancel_order_and_move_remaining_result.py +0 -201
- lusid/models/cancel_orders_and_move_remaining_request.py +0 -204
- lusid/models/cancel_orders_and_move_remaining_response.py +0 -262
- lusid/models/cancel_orders_response.py +0 -262
- lusid/models/cancel_placements_response.py +0 -262
- lusid/models/cancelled_order_result.py +0 -143
- lusid/models/cancelled_placement_result.py +0 -175
- lusid/models/cap_floor_all_of.py +0 -313
- lusid/models/capital_distribution_event.py +0 -308
- lusid/models/capital_distribution_event_all_of.py +0 -308
- lusid/models/cash.py +0 -216
- lusid/models/cash_all_of.py +0 -216
- lusid/models/cash_and_security_offer_election.py +0 -335
- lusid/models/cash_dependency_all_of.py +0 -216
- lusid/models/cash_dividend_event_all_of.py +0 -308
- lusid/models/cash_flow_event_all_of.py +0 -217
- lusid/models/cash_flow_value_all_of.py +0 -306
- lusid/models/cash_flow_value_set_all_of.py +0 -182
- lusid/models/cash_offer_election.py +0 -275
- lusid/models/cash_perpetual_all_of.py +0 -248
- lusid/models/cds_credit_event.py +0 -244
- lusid/models/cds_credit_event_all_of.py +0 -244
- lusid/models/cds_index_all_of.py +0 -399
- lusid/models/cdx_credit_event.py +0 -306
- lusid/models/cdx_credit_event_all_of.py +0 -306
- lusid/models/check_step_all_of.py +0 -251
- lusid/models/check_step_request.py +0 -193
- lusid/models/close_event_all_of.py +0 -214
- lusid/models/complex_bond_all_of.py +0 -344
- lusid/models/compliance_rule_template.py +0 -329
- lusid/models/compliance_run_configuration.py +0 -144
- lusid/models/compliance_run_summary.py +0 -267
- lusid/models/compliance_step_request.py +0 -167
- lusid/models/compliance_template_variation_dto.py +0 -290
- lusid/models/compliance_template_variation_request.py +0 -290
- lusid/models/configuration_recipe_snippet.py +0 -372
- lusid/models/constant_volatility_surface_all_of.py +0 -285
- lusid/models/contract_for_difference_all_of.py +0 -478
- lusid/models/create_compliance_template_request.py +0 -228
- lusid/models/credit_default_swap_all_of.py +0 -401
- lusid/models/credit_premium_cash_flow_event.py +0 -278
- lusid/models/credit_premium_cash_flow_event_all_of.py +0 -278
- lusid/models/credit_spread_curve_data_all_of.py +0 -437
- lusid/models/date_time_compliance_parameter_all_of.py +0 -182
- lusid/models/decimal_compliance_parameter_all_of.py +0 -182
- lusid/models/decimal_list_all_of.py +0 -188
- lusid/models/discount_factor_curve_data_all_of.py +0 -313
- lusid/models/discounting_dependency_all_of.py +0 -216
- lusid/models/dividend_option_event_all_of.py +0 -371
- lusid/models/empty_model_options_all_of.py +0 -152
- lusid/models/equity_all_of.py +0 -243
- lusid/models/equity_curve_by_prices_data_all_of.py +0 -313
- lusid/models/equity_curve_dependency_all_of.py +0 -298
- lusid/models/equity_model_options_all_of.py +0 -187
- lusid/models/equity_option_all_of.py +0 -590
- lusid/models/equity_swap_all_of.py +0 -504
- lusid/models/equity_vol_dependency_all_of.py +0 -292
- lusid/models/equity_vol_surface_data_all_of.py +0 -284
- lusid/models/exchange_traded_option_all_of.py +0 -278
- lusid/models/exercise_event_all_of.py +0 -245
- lusid/models/exotic_instrument_all_of.py +0 -217
- lusid/models/expiry_event.py +0 -184
- lusid/models/expiry_event_all_of.py +0 -184
- lusid/models/filter_predicate_compliance_parameter_all_of.py +0 -185
- lusid/models/filter_step_request.py +0 -193
- lusid/models/fixed_leg_all_of.py +0 -304
- lusid/models/flexible_loan_all_of.py +0 -280
- lusid/models/floating_leg_all_of.py +0 -366
- lusid/models/forward_rate_agreement_all_of.py +0 -373
- lusid/models/fund_id_list.py +0 -185
- lusid/models/fund_id_list_all_of.py +0 -185
- lusid/models/fund_share_class_all_of.py +0 -354
- lusid/models/funding_leg_all_of.py +0 -276
- lusid/models/future_all_of.py +0 -405
- lusid/models/future_expiry_event.py +0 -246
- lusid/models/future_expiry_event_all_of.py +0 -246
- lusid/models/fx_dependency_all_of.py +0 -248
- lusid/models/fx_forward_all_of.py +0 -498
- lusid/models/fx_forward_curve_by_quote_reference_all_of.py +0 -405
- lusid/models/fx_forward_curve_data_all_of.py +0 -377
- lusid/models/fx_forward_model_options_all_of.py +0 -260
- lusid/models/fx_forward_pips_curve_data_all_of.py +0 -377
- lusid/models/fx_forward_settlement_event_all_of.py +0 -524
- lusid/models/fx_forward_tenor_curve_data_all_of.py +0 -437
- lusid/models/fx_forward_tenor_pips_curve_data_all_of.py +0 -437
- lusid/models/fx_forwards_dependency_all_of.py +0 -286
- lusid/models/fx_linked_notional_schedule_all_of.py +0 -273
- lusid/models/fx_option_all_of.py +0 -646
- lusid/models/fx_swap_all_of.py +0 -242
- lusid/models/fx_vol_dependency_all_of.py +0 -286
- lusid/models/group_by_step_request.py +0 -193
- lusid/models/group_calculation_compliance_parameter.py +0 -185
- lusid/models/group_filter_step_all_of.py +0 -219
- lusid/models/group_filter_step_request.py +0 -193
- lusid/models/holding_ids_request.py +0 -149
- lusid/models/holding_pricing_info.py +0 -234
- lusid/models/index_model_options_all_of.py +0 -190
- lusid/models/index_projection_dependency_all_of.py +0 -292
- lusid/models/inflation_fixing_dependency_all_of.py +0 -254
- lusid/models/inflation_leg_all_of.py +0 -472
- lusid/models/inflation_linked_bond_all_of.py +0 -618
- lusid/models/inflation_swap_all_of.py +0 -276
- lusid/models/informational_error_event_all_of.py +0 -254
- lusid/models/informational_event_all_of.py +0 -279
- lusid/models/instrument_event_instruction.py +0 -380
- lusid/models/instrument_event_instruction_request.py +0 -279
- lusid/models/instrument_event_instructions_response.py +0 -174
- lusid/models/instrument_leg_all_of.py +0 -152
- lusid/models/instrument_list_all_of.py +0 -188
- lusid/models/interest_rate_swap_all_of.py +0 -339
- lusid/models/interest_rate_swaption_all_of.py +0 -313
- lusid/models/intermediate_securities_distribution_event.py +0 -426
- lusid/models/intermediate_securities_distribution_event_all_of.py +0 -426
- lusid/models/ir_vol_cube_data_all_of.py +0 -284
- lusid/models/ir_vol_dependency_all_of.py +0 -254
- lusid/models/lapse_election.py +0 -211
- lusid/models/life_cycle_event_value_all_of.py +0 -241
- lusid/models/loan_facility.py +0 -292
- lusid/models/loan_facility_all_of.py +0 -292
- lusid/models/look_up_pricing_model_options.py +0 -216
- lusid/models/look_up_pricing_model_options_all_of.py +0 -216
- lusid/models/mastered_instrument.py +0 -364
- lusid/models/mastered_instrument_all_of.py +0 -364
- lusid/models/maturity_event_all_of.py +0 -184
- lusid/models/mbs_coupon_event.py +0 -278
- lusid/models/mbs_coupon_event_all_of.py +0 -278
- lusid/models/mbs_interest_deferral_event.py +0 -278
- lusid/models/mbs_interest_deferral_event_all_of.py +0 -278
- lusid/models/mbs_interest_shortfall_event.py +0 -278
- lusid/models/mbs_interest_shortfall_event_all_of.py +0 -278
- lusid/models/mbs_principal_event.py +0 -278
- lusid/models/mbs_principal_event_all_of.py +0 -278
- lusid/models/mbs_principal_write_off_event.py +0 -278
- lusid/models/mbs_principal_write_off_event_all_of.py +0 -278
- lusid/models/merger_event.py +0 -456
- lusid/models/merger_event_all_of.py +0 -456
- lusid/models/new_instrument.py +0 -236
- lusid/models/opaque_dependency_all_of.py +0 -152
- lusid/models/opaque_market_data_all_of.py +0 -293
- lusid/models/opaque_model_options_all_of.py +0 -182
- lusid/models/open_event_all_of.py +0 -183
- lusid/models/option_exercise_cash_event.py +0 -500
- lusid/models/option_exercise_cash_event_all_of.py +0 -500
- lusid/models/option_exercise_election.py +0 -211
- lusid/models/option_exercise_physical_event.py +0 -530
- lusid/models/option_exercise_physical_event_all_of.py +0 -530
- lusid/models/order_graph_block_transaction_detail.py +0 -149
- lusid/models/order_graph_block_transaction_synopsis.py +0 -178
- lusid/models/order_update_request.py +0 -320
- lusid/models/paged_resource_list_of_instrument_event_instruction.py +0 -256
- lusid/models/percent_check_step.py +0 -251
- lusid/models/percent_check_step_request.py +0 -193
- lusid/models/placement_update_request.py +0 -306
- lusid/models/portfolio_group_id_list_all_of.py +0 -185
- lusid/models/portfolio_result_data_key_rule_all_of.py +0 -409
- lusid/models/pre_trade_configuration.py +0 -149
- lusid/models/property_key_compliance_parameter_all_of.py +0 -184
- lusid/models/property_list.py +0 -188
- lusid/models/property_list_all_of.py +0 -188
- lusid/models/property_list_compliance_parameter.py +0 -182
- lusid/models/protection_payout_cash_flow_event.py +0 -278
- lusid/models/queryable_key.py +0 -508
- lusid/models/quote_dependency_all_of.py +0 -257
- lusid/models/raw_vendor_event_all_of.py +0 -249
- lusid/models/reconcile_date_time_rule_all_of.py +0 -251
- lusid/models/reconcile_numeric_rule_all_of.py +0 -251
- lusid/models/reconcile_string_rule_all_of.py +0 -250
- lusid/models/reference_instrument_all_of.py +0 -257
- lusid/models/repo_all_of.py +0 -493
- lusid/models/reset_event_all_of.py +0 -279
- lusid/models/resource_list_of_output_transaction.py +0 -256
- lusid/models/resource_list_of_queryable_key.py +0 -256
- lusid/models/result_data_key_rule_all_of.py +0 -406
- lusid/models/result_value0_d_all_of.py +0 -243
- lusid/models/result_value_bool_all_of.py +0 -183
- lusid/models/result_value_currency_all_of.py +0 -182
- lusid/models/result_value_date_time_offset_all_of.py +0 -213
- lusid/models/result_value_decimal_all_of.py +0 -213
- lusid/models/result_value_dictionary_all_of.py +0 -182
- lusid/models/result_value_int_all_of.py +0 -213
- lusid/models/result_value_string_all_of.py +0 -182
- lusid/models/return_zero_pv_options.py +0 -145
- lusid/models/reverse_stock_split_event.py +0 -366
- lusid/models/reverse_stock_split_event_all_of.py +0 -366
- lusid/models/schema.py +0 -226
- lusid/models/scrip_dividend_event.py +0 -366
- lusid/models/scrip_dividend_event_all_of.py +0 -366
- lusid/models/security_offer_election.py +0 -241
- lusid/models/settlement_cycle.py +0 -180
- lusid/models/settlement_schedule.py +0 -200
- lusid/models/simple_cash_flow_loan_all_of.py +0 -280
- lusid/models/simple_instrument_all_of.py +0 -318
- lusid/models/simple_rounding_convention.py +0 -175
- lusid/models/specific_holding_pricing_info.py +0 -179
- lusid/models/spin_off_event.py +0 -426
- lusid/models/staged_modifications_info.py +0 -208
- lusid/models/step_schedule_all_of.py +0 -254
- lusid/models/stock_dividend_event.py +0 -366
- lusid/models/stock_dividend_event_all_of.py +0 -366
- lusid/models/stock_split_event_all_of.py +0 -366
- lusid/models/string_compliance_parameter_all_of.py +0 -185
- lusid/models/swap_cash_flow_event.py +0 -279
- lusid/models/swap_cash_flow_event_all_of.py +0 -279
- lusid/models/swap_principal_event.py +0 -279
- lusid/models/swap_principal_event_all_of.py +0 -279
- lusid/models/tender_event.py +0 -456
- lusid/models/tender_event_all_of.py +0 -456
- lusid/models/term_deposit_all_of.py +0 -340
- lusid/models/term_deposit_interest_event.py +0 -246
- lusid/models/term_deposit_interest_event_all_of.py +0 -246
- lusid/models/term_deposit_principal_event.py +0 -246
- lusid/models/term_deposit_principal_event_all_of.py +0 -246
- lusid/models/total_return_swap_all_of.py +0 -276
- lusid/models/transition_event_all_of.py +0 -335
- lusid/models/trigger_event_all_of.py +0 -318
- lusid/models/update_compliance_template_request.py +0 -228
- lusid/models/update_orders_response.py +0 -262
- lusid/models/update_placements_response.py +0 -262
- lusid/models/update_reference_data_request.py +0 -178
- lusid/models/upsert_persons_response.py +0 -238
- lusid/models/upsert_reference_portfolio_constituent_properties_request.py +0 -178
- lusid/models/upsert_reference_portfolio_constituent_properties_response.py +0 -231
- lusid/models/yield_curve_data_all_of.py +0 -313
- lusid/tcp/__init__.py +0 -1
- lusid/tcp/tcp_keep_alive_probes.py +0 -110
- lusid/utilities/__init__.py +0 -8
- lusid/utilities/api_client_builder.py +0 -145
- lusid/utilities/api_client_factory.py +0 -132
- lusid/utilities/api_configuration.py +0 -126
- lusid/utilities/api_configuration_loader.py +0 -87
- lusid/utilities/config_keys.json +0 -50
- lusid/utilities/config_keys.py +0 -13
- lusid/utilities/lusid_retry.py +0 -47
- lusid_sdk-1.1.257.dist-info/METADATA +0 -21
- lusid_sdk-1.1.257.dist-info/RECORD +0 -987
- lusid_sdk-1.1.257.dist-info/top_level.txt +0 -1
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
# coding: utf-8
|
|
2
|
-
|
|
3
|
-
"""
|
|
4
|
-
LUSID API
|
|
5
|
-
|
|
6
|
-
FINBOURNE Technology # noqa: E501
|
|
7
|
-
|
|
8
|
-
The version of the OpenAPI document: 1.1.257
|
|
9
|
-
Contact: info@finbourne.com
|
|
10
|
-
Generated by: https://openapi-generator.tech
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
try:
|
|
15
|
-
from inspect import getfullargspec
|
|
16
|
-
except ImportError:
|
|
17
|
-
from inspect import getargspec as getfullargspec
|
|
18
|
-
import pprint
|
|
19
|
-
import re # noqa: F401
|
|
20
|
-
import six
|
|
21
|
-
|
|
22
|
-
from lusid.configuration import Configuration
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class YieldCurveDataAllOf(object):
|
|
26
|
-
"""NOTE: This class is auto generated by OpenAPI Generator.
|
|
27
|
-
Ref: https://openapi-generator.tech
|
|
28
|
-
|
|
29
|
-
Do not edit the class manually.
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
"""
|
|
33
|
-
Attributes:
|
|
34
|
-
openapi_types (dict): The key is attribute name
|
|
35
|
-
and the value is attribute type.
|
|
36
|
-
attribute_map (dict): The key is attribute name
|
|
37
|
-
and the value is json key in definition.
|
|
38
|
-
required_map (dict): The key is attribute name
|
|
39
|
-
and the value is whether it is 'required' or 'optional'.
|
|
40
|
-
"""
|
|
41
|
-
openapi_types = {
|
|
42
|
-
'base_date': 'datetime',
|
|
43
|
-
'instruments': 'list[LusidInstrument]',
|
|
44
|
-
'quotes': 'list[MarketQuote]',
|
|
45
|
-
'lineage': 'str',
|
|
46
|
-
'market_data_options': 'MarketDataOptions',
|
|
47
|
-
'market_data_type': 'str'
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
attribute_map = {
|
|
51
|
-
'base_date': 'baseDate',
|
|
52
|
-
'instruments': 'instruments',
|
|
53
|
-
'quotes': 'quotes',
|
|
54
|
-
'lineage': 'lineage',
|
|
55
|
-
'market_data_options': 'marketDataOptions',
|
|
56
|
-
'market_data_type': 'marketDataType'
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
required_map = {
|
|
60
|
-
'base_date': 'required',
|
|
61
|
-
'instruments': 'required',
|
|
62
|
-
'quotes': 'required',
|
|
63
|
-
'lineage': 'optional',
|
|
64
|
-
'market_data_options': 'optional',
|
|
65
|
-
'market_data_type': 'required'
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
def __init__(self, base_date=None, instruments=None, quotes=None, lineage=None, market_data_options=None, market_data_type=None, local_vars_configuration=None): # noqa: E501
|
|
69
|
-
"""YieldCurveDataAllOf - a model defined in OpenAPI"
|
|
70
|
-
|
|
71
|
-
:param base_date: Base date (required)
|
|
72
|
-
:type base_date: datetime
|
|
73
|
-
:param instruments: The set of instruments that define the curve. (required)
|
|
74
|
-
:type instruments: list[lusid.LusidInstrument]
|
|
75
|
-
:param quotes: The market quotes corresponding to the the instruments used to define the curve (required)
|
|
76
|
-
:type quotes: list[lusid.MarketQuote]
|
|
77
|
-
:param lineage: Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'.
|
|
78
|
-
:type lineage: str
|
|
79
|
-
:param market_data_options:
|
|
80
|
-
:type market_data_options: lusid.MarketDataOptions
|
|
81
|
-
:param market_data_type: The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface (required)
|
|
82
|
-
:type market_data_type: str
|
|
83
|
-
|
|
84
|
-
""" # noqa: E501
|
|
85
|
-
if local_vars_configuration is None:
|
|
86
|
-
local_vars_configuration = Configuration.get_default_copy()
|
|
87
|
-
self.local_vars_configuration = local_vars_configuration
|
|
88
|
-
|
|
89
|
-
self._base_date = None
|
|
90
|
-
self._instruments = None
|
|
91
|
-
self._quotes = None
|
|
92
|
-
self._lineage = None
|
|
93
|
-
self._market_data_options = None
|
|
94
|
-
self._market_data_type = None
|
|
95
|
-
self.discriminator = None
|
|
96
|
-
|
|
97
|
-
self.base_date = base_date
|
|
98
|
-
self.instruments = instruments
|
|
99
|
-
self.quotes = quotes
|
|
100
|
-
self.lineage = lineage
|
|
101
|
-
if market_data_options is not None:
|
|
102
|
-
self.market_data_options = market_data_options
|
|
103
|
-
self.market_data_type = market_data_type
|
|
104
|
-
|
|
105
|
-
@property
|
|
106
|
-
def base_date(self):
|
|
107
|
-
"""Gets the base_date of this YieldCurveDataAllOf. # noqa: E501
|
|
108
|
-
|
|
109
|
-
Base date # noqa: E501
|
|
110
|
-
|
|
111
|
-
:return: The base_date of this YieldCurveDataAllOf. # noqa: E501
|
|
112
|
-
:rtype: datetime
|
|
113
|
-
"""
|
|
114
|
-
return self._base_date
|
|
115
|
-
|
|
116
|
-
@base_date.setter
|
|
117
|
-
def base_date(self, base_date):
|
|
118
|
-
"""Sets the base_date of this YieldCurveDataAllOf.
|
|
119
|
-
|
|
120
|
-
Base date # noqa: E501
|
|
121
|
-
|
|
122
|
-
:param base_date: The base_date of this YieldCurveDataAllOf. # noqa: E501
|
|
123
|
-
:type base_date: datetime
|
|
124
|
-
"""
|
|
125
|
-
if self.local_vars_configuration.client_side_validation and base_date is None: # noqa: E501
|
|
126
|
-
raise ValueError("Invalid value for `base_date`, must not be `None`") # noqa: E501
|
|
127
|
-
|
|
128
|
-
self._base_date = base_date
|
|
129
|
-
|
|
130
|
-
@property
|
|
131
|
-
def instruments(self):
|
|
132
|
-
"""Gets the instruments of this YieldCurveDataAllOf. # noqa: E501
|
|
133
|
-
|
|
134
|
-
The set of instruments that define the curve. # noqa: E501
|
|
135
|
-
|
|
136
|
-
:return: The instruments of this YieldCurveDataAllOf. # noqa: E501
|
|
137
|
-
:rtype: list[lusid.LusidInstrument]
|
|
138
|
-
"""
|
|
139
|
-
return self._instruments
|
|
140
|
-
|
|
141
|
-
@instruments.setter
|
|
142
|
-
def instruments(self, instruments):
|
|
143
|
-
"""Sets the instruments of this YieldCurveDataAllOf.
|
|
144
|
-
|
|
145
|
-
The set of instruments that define the curve. # noqa: E501
|
|
146
|
-
|
|
147
|
-
:param instruments: The instruments of this YieldCurveDataAllOf. # noqa: E501
|
|
148
|
-
:type instruments: list[lusid.LusidInstrument]
|
|
149
|
-
"""
|
|
150
|
-
if self.local_vars_configuration.client_side_validation and instruments is None: # noqa: E501
|
|
151
|
-
raise ValueError("Invalid value for `instruments`, must not be `None`") # noqa: E501
|
|
152
|
-
|
|
153
|
-
self._instruments = instruments
|
|
154
|
-
|
|
155
|
-
@property
|
|
156
|
-
def quotes(self):
|
|
157
|
-
"""Gets the quotes of this YieldCurveDataAllOf. # noqa: E501
|
|
158
|
-
|
|
159
|
-
The market quotes corresponding to the the instruments used to define the curve # noqa: E501
|
|
160
|
-
|
|
161
|
-
:return: The quotes of this YieldCurveDataAllOf. # noqa: E501
|
|
162
|
-
:rtype: list[lusid.MarketQuote]
|
|
163
|
-
"""
|
|
164
|
-
return self._quotes
|
|
165
|
-
|
|
166
|
-
@quotes.setter
|
|
167
|
-
def quotes(self, quotes):
|
|
168
|
-
"""Sets the quotes of this YieldCurveDataAllOf.
|
|
169
|
-
|
|
170
|
-
The market quotes corresponding to the the instruments used to define the curve # noqa: E501
|
|
171
|
-
|
|
172
|
-
:param quotes: The quotes of this YieldCurveDataAllOf. # noqa: E501
|
|
173
|
-
:type quotes: list[lusid.MarketQuote]
|
|
174
|
-
"""
|
|
175
|
-
if self.local_vars_configuration.client_side_validation and quotes is None: # noqa: E501
|
|
176
|
-
raise ValueError("Invalid value for `quotes`, must not be `None`") # noqa: E501
|
|
177
|
-
|
|
178
|
-
self._quotes = quotes
|
|
179
|
-
|
|
180
|
-
@property
|
|
181
|
-
def lineage(self):
|
|
182
|
-
"""Gets the lineage of this YieldCurveDataAllOf. # noqa: E501
|
|
183
|
-
|
|
184
|
-
Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'. # noqa: E501
|
|
185
|
-
|
|
186
|
-
:return: The lineage of this YieldCurveDataAllOf. # noqa: E501
|
|
187
|
-
:rtype: str
|
|
188
|
-
"""
|
|
189
|
-
return self._lineage
|
|
190
|
-
|
|
191
|
-
@lineage.setter
|
|
192
|
-
def lineage(self, lineage):
|
|
193
|
-
"""Sets the lineage of this YieldCurveDataAllOf.
|
|
194
|
-
|
|
195
|
-
Description of the complex market data's lineage e.g. 'FundAccountant_GreenQuality'. # noqa: E501
|
|
196
|
-
|
|
197
|
-
:param lineage: The lineage of this YieldCurveDataAllOf. # noqa: E501
|
|
198
|
-
:type lineage: str
|
|
199
|
-
"""
|
|
200
|
-
if (self.local_vars_configuration.client_side_validation and
|
|
201
|
-
lineage is not None and len(lineage) > 1024):
|
|
202
|
-
raise ValueError("Invalid value for `lineage`, length must be less than or equal to `1024`") # noqa: E501
|
|
203
|
-
if (self.local_vars_configuration.client_side_validation and
|
|
204
|
-
lineage is not None and len(lineage) < 0):
|
|
205
|
-
raise ValueError("Invalid value for `lineage`, length must be greater than or equal to `0`") # noqa: E501
|
|
206
|
-
|
|
207
|
-
self._lineage = lineage
|
|
208
|
-
|
|
209
|
-
@property
|
|
210
|
-
def market_data_options(self):
|
|
211
|
-
"""Gets the market_data_options of this YieldCurveDataAllOf. # noqa: E501
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
:return: The market_data_options of this YieldCurveDataAllOf. # noqa: E501
|
|
215
|
-
:rtype: lusid.MarketDataOptions
|
|
216
|
-
"""
|
|
217
|
-
return self._market_data_options
|
|
218
|
-
|
|
219
|
-
@market_data_options.setter
|
|
220
|
-
def market_data_options(self, market_data_options):
|
|
221
|
-
"""Sets the market_data_options of this YieldCurveDataAllOf.
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
:param market_data_options: The market_data_options of this YieldCurveDataAllOf. # noqa: E501
|
|
225
|
-
:type market_data_options: lusid.MarketDataOptions
|
|
226
|
-
"""
|
|
227
|
-
|
|
228
|
-
self._market_data_options = market_data_options
|
|
229
|
-
|
|
230
|
-
@property
|
|
231
|
-
def market_data_type(self):
|
|
232
|
-
"""Gets the market_data_type of this YieldCurveDataAllOf. # noqa: E501
|
|
233
|
-
|
|
234
|
-
The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface # noqa: E501
|
|
235
|
-
|
|
236
|
-
:return: The market_data_type of this YieldCurveDataAllOf. # noqa: E501
|
|
237
|
-
:rtype: str
|
|
238
|
-
"""
|
|
239
|
-
return self._market_data_type
|
|
240
|
-
|
|
241
|
-
@market_data_type.setter
|
|
242
|
-
def market_data_type(self, market_data_type):
|
|
243
|
-
"""Sets the market_data_type of this YieldCurveDataAllOf.
|
|
244
|
-
|
|
245
|
-
The available values are: DiscountFactorCurveData, EquityVolSurfaceData, FxVolSurfaceData, IrVolCubeData, OpaqueMarketData, YieldCurveData, FxForwardCurveData, FxForwardPipsCurveData, FxForwardTenorCurveData, FxForwardTenorPipsCurveData, FxForwardCurveByQuoteReference, CreditSpreadCurveData, EquityCurveByPricesData, ConstantVolatilitySurface # noqa: E501
|
|
246
|
-
|
|
247
|
-
:param market_data_type: The market_data_type of this YieldCurveDataAllOf. # noqa: E501
|
|
248
|
-
:type market_data_type: str
|
|
249
|
-
"""
|
|
250
|
-
if self.local_vars_configuration.client_side_validation and market_data_type is None: # noqa: E501
|
|
251
|
-
raise ValueError("Invalid value for `market_data_type`, must not be `None`") # noqa: E501
|
|
252
|
-
allowed_values = ["DiscountFactorCurveData", "EquityVolSurfaceData", "FxVolSurfaceData", "IrVolCubeData", "OpaqueMarketData", "YieldCurveData", "FxForwardCurveData", "FxForwardPipsCurveData", "FxForwardTenorCurveData", "FxForwardTenorPipsCurveData", "FxForwardCurveByQuoteReference", "CreditSpreadCurveData", "EquityCurveByPricesData", "ConstantVolatilitySurface"] # noqa: E501
|
|
253
|
-
if self.local_vars_configuration.client_side_validation and market_data_type not in allowed_values: # noqa: E501
|
|
254
|
-
raise ValueError(
|
|
255
|
-
"Invalid value for `market_data_type` ({0}), must be one of {1}" # noqa: E501
|
|
256
|
-
.format(market_data_type, allowed_values)
|
|
257
|
-
)
|
|
258
|
-
|
|
259
|
-
self._market_data_type = market_data_type
|
|
260
|
-
|
|
261
|
-
def to_dict(self, serialize=False):
|
|
262
|
-
"""Returns the model properties as a dict"""
|
|
263
|
-
result = {}
|
|
264
|
-
|
|
265
|
-
def convert(x):
|
|
266
|
-
if hasattr(x, "to_dict"):
|
|
267
|
-
args = getfullargspec(x.to_dict).args
|
|
268
|
-
if len(args) == 1:
|
|
269
|
-
return x.to_dict()
|
|
270
|
-
else:
|
|
271
|
-
return x.to_dict(serialize)
|
|
272
|
-
else:
|
|
273
|
-
return x
|
|
274
|
-
|
|
275
|
-
for attr, _ in six.iteritems(self.openapi_types):
|
|
276
|
-
value = getattr(self, attr)
|
|
277
|
-
attr = self.attribute_map.get(attr, attr) if serialize else attr
|
|
278
|
-
if isinstance(value, list):
|
|
279
|
-
result[attr] = list(map(
|
|
280
|
-
lambda x: convert(x),
|
|
281
|
-
value
|
|
282
|
-
))
|
|
283
|
-
elif isinstance(value, dict):
|
|
284
|
-
result[attr] = dict(map(
|
|
285
|
-
lambda item: (item[0], convert(item[1])),
|
|
286
|
-
value.items()
|
|
287
|
-
))
|
|
288
|
-
else:
|
|
289
|
-
result[attr] = convert(value)
|
|
290
|
-
|
|
291
|
-
return result
|
|
292
|
-
|
|
293
|
-
def to_str(self):
|
|
294
|
-
"""Returns the string representation of the model"""
|
|
295
|
-
return pprint.pformat(self.to_dict())
|
|
296
|
-
|
|
297
|
-
def __repr__(self):
|
|
298
|
-
"""For `print` and `pprint`"""
|
|
299
|
-
return self.to_str()
|
|
300
|
-
|
|
301
|
-
def __eq__(self, other):
|
|
302
|
-
"""Returns true if both objects are equal"""
|
|
303
|
-
if not isinstance(other, YieldCurveDataAllOf):
|
|
304
|
-
return False
|
|
305
|
-
|
|
306
|
-
return self.to_dict() == other.to_dict()
|
|
307
|
-
|
|
308
|
-
def __ne__(self, other):
|
|
309
|
-
"""Returns true if both objects are not equal"""
|
|
310
|
-
if not isinstance(other, YieldCurveDataAllOf):
|
|
311
|
-
return True
|
|
312
|
-
|
|
313
|
-
return self.to_dict() != other.to_dict()
|
lusid/tcp/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from lusid.tcp.tcp_keep_alive_probes import TCPKeepAlivePoolManager, TCPKeepAliveProxyManager
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
from urllib3 import HTTPSConnectionPool, HTTPConnectionPool, PoolManager, ProxyManager
|
|
2
|
-
import socket
|
|
3
|
-
import sys
|
|
4
|
-
|
|
5
|
-
# The content to send on Mac OS in the TCP Keep Alive probe
|
|
6
|
-
TCP_KEEPALIVE = 0x10
|
|
7
|
-
# The maximum time to keep the connection idle before sending probes
|
|
8
|
-
TCP_KEEP_IDLE = 60
|
|
9
|
-
# The interval between probes
|
|
10
|
-
TCP_KEEPALIVE_INTERVAL = 60
|
|
11
|
-
# The maximum number of failed probes before terminating the connection
|
|
12
|
-
TCP_KEEP_CNT = 3
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class TCPKeepAliveValidationMethods:
|
|
16
|
-
"""
|
|
17
|
-
This class contains a single method whose sole purpose is to set up TCP Keep Alive probes on the socket for a
|
|
18
|
-
connection. This is necessary for long running requests which will be silently terminated by the AWS Network Load
|
|
19
|
-
Balancer which kills a connection if it is idle for more then 350 seconds.
|
|
20
|
-
"""
|
|
21
|
-
@staticmethod
|
|
22
|
-
def adjust_connection_socket(conn, protocol: str = "https"):
|
|
23
|
-
"""
|
|
24
|
-
Adjusts the socket settings so that the client sends a TCP keep alive probe over the connection. This is only
|
|
25
|
-
applied where possible, if the ability to set the socket options is not available, for example using Anaconda,
|
|
26
|
-
then the settings will be left as is.
|
|
27
|
-
|
|
28
|
-
:param conn: The connection to update the socket settings for
|
|
29
|
-
:param str protocol: The protocol of the connection
|
|
30
|
-
|
|
31
|
-
:return: None
|
|
32
|
-
"""
|
|
33
|
-
|
|
34
|
-
if protocol == "http":
|
|
35
|
-
# It isn't clear how to set this up over HTTP, it seems to differ from HTTPs
|
|
36
|
-
return
|
|
37
|
-
|
|
38
|
-
# TCP Keep Alive Probes for different platforms
|
|
39
|
-
platform = sys.platform
|
|
40
|
-
# TCP Keep Alive Probes for Linux
|
|
41
|
-
if (platform == 'linux' and hasattr(conn.sock, "setsockopt") and hasattr(socket, "SO_KEEPALIVE") and
|
|
42
|
-
hasattr(socket, "TCP_KEEPIDLE") and hasattr(socket, "TCP_KEEPINTVL") and hasattr(socket, "TCP_KEEPCNT")):
|
|
43
|
-
conn.sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
|
44
|
-
conn.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, TCP_KEEP_IDLE)
|
|
45
|
-
conn.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, TCP_KEEPALIVE_INTERVAL)
|
|
46
|
-
conn.sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, TCP_KEEP_CNT)
|
|
47
|
-
|
|
48
|
-
# TCP Keep Alive Probes for Windows OS
|
|
49
|
-
elif platform == 'win32' and hasattr(socket, "SIO_KEEPALIVE_VALS") and getattr(conn.sock, "ioctl", None) is not None:
|
|
50
|
-
conn.sock.ioctl(socket.SIO_KEEPALIVE_VALS, (1, TCP_KEEP_IDLE * 1000, TCP_KEEPALIVE_INTERVAL * 1000))
|
|
51
|
-
|
|
52
|
-
# TCP Keep Alive Probes for Mac OS
|
|
53
|
-
elif platform == 'darwin' and getattr(conn.sock, "setsockopt", None) is not None:
|
|
54
|
-
conn.sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
|
55
|
-
conn.sock.setsockopt(socket.IPPROTO_TCP, TCP_KEEPALIVE, TCP_KEEPALIVE_INTERVAL)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class TCPKeepAliveHTTPSConnectionPool(HTTPSConnectionPool):
|
|
59
|
-
"""
|
|
60
|
-
This class overrides the _validate_conn method in the HTTPSConnectionPool class. This is the entry point to use
|
|
61
|
-
for modifying the socket as it is called after the socket is created and before the request is made.
|
|
62
|
-
"""
|
|
63
|
-
def _validate_conn(self, conn):
|
|
64
|
-
"""
|
|
65
|
-
Called right before a request is made, after the socket is created.
|
|
66
|
-
"""
|
|
67
|
-
# Call the method on the base class
|
|
68
|
-
super()._validate_conn(conn)
|
|
69
|
-
|
|
70
|
-
# Set up TCP Keep Alive probes, this is the only line added to this function
|
|
71
|
-
TCPKeepAliveValidationMethods.adjust_connection_socket(conn, "https")
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class TCPKeepAliveHTTPConnectionPool(HTTPConnectionPool):
|
|
75
|
-
"""
|
|
76
|
-
This class overrides the _validate_conn method in the HTTPSConnectionPool class. This is the entry point to use
|
|
77
|
-
for modifying the socket as it is called after the socket is created and before the request is made.
|
|
78
|
-
|
|
79
|
-
In the base class this method is passed completely.
|
|
80
|
-
"""
|
|
81
|
-
|
|
82
|
-
def _validate_conn(self, conn):
|
|
83
|
-
"""
|
|
84
|
-
Called right before a request is made, after the socket is created.
|
|
85
|
-
"""
|
|
86
|
-
# Call the method on the base class
|
|
87
|
-
super()._validate_conn(conn)
|
|
88
|
-
|
|
89
|
-
# Set up TCP Keep Alive probes, this is the only line added to this function
|
|
90
|
-
TCPKeepAliveValidationMethods.adjust_connection_socket(conn, "http")
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
class TCPKeepAlivePoolManager(PoolManager):
|
|
94
|
-
"""
|
|
95
|
-
This Pool Manager has only had the pool_classes_by_scheme variable changed. This now points at the TCPKeepAlive
|
|
96
|
-
connection pools rather than the default connection pools.
|
|
97
|
-
"""
|
|
98
|
-
def __init__(self, num_pools=10, headers=None, **connection_pool_kw):
|
|
99
|
-
super().__init__(num_pools=num_pools, headers=headers, **connection_pool_kw)
|
|
100
|
-
self.pool_classes_by_scheme = {"http": TCPKeepAliveHTTPConnectionPool, "https": TCPKeepAliveHTTPSConnectionPool}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
class TCPKeepAliveProxyManager(ProxyManager):
|
|
104
|
-
"""
|
|
105
|
-
This Proxy Manager has only had the pool_classes_by_scheme variable changed. This now points at the TCPKeepAlive
|
|
106
|
-
connection pools rather than the default connection pools.
|
|
107
|
-
"""
|
|
108
|
-
def __init__(self, proxy_url, num_pools=10, headers=None, proxy_headers=None, **connection_pool_kw):
|
|
109
|
-
super().__init__(proxy_url=proxy_url, num_pools=num_pools, headers=headers, proxy_headers=proxy_headers, **connection_pool_kw)
|
|
110
|
-
self.pool_classes_by_scheme = {"http": TCPKeepAliveHTTPConnectionPool, "https": TCPKeepAliveHTTPSConnectionPool}
|
lusid/utilities/__init__.py
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
from lusid.utilities.api_client_builder import ApiClientBuilder
|
|
2
|
-
from lusid.utilities.api_configuration_loader import ApiConfigurationLoader
|
|
3
|
-
from lusid.utilities.refreshing_token import RefreshingToken
|
|
4
|
-
from lusid.utilities.api_client_factory import ApiClientFactory
|
|
5
|
-
from lusid.utilities.lusid_retry import lusidretry
|
|
6
|
-
from lusid.utilities.proxy_config import ProxyConfig
|
|
7
|
-
from lusid.utilities.api_configuration import ApiConfiguration
|
|
8
|
-
from lusid.utilities.config_keys import ConfigKeys
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
|
|
3
|
-
from urllib3 import make_headers
|
|
4
|
-
|
|
5
|
-
from lusid import Configuration, ApiClient
|
|
6
|
-
from .api_configuration_loader import ApiConfigurationLoader
|
|
7
|
-
from .refreshing_token import RefreshingToken
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ApiClientBuilder:
|
|
11
|
-
"""
|
|
12
|
-
The ApiClientBuilder is responsible for building a lusid.ApiClient. This includes obtaining an access token from
|
|
13
|
-
Okta or using the provided token.
|
|
14
|
-
|
|
15
|
-
Any validation on the inputs required to build a lusid.ApiClient is the responsibility of this ApiClientBuilder.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
@staticmethod
|
|
19
|
-
def __check_required_fields(object_to_check, fields):
|
|
20
|
-
"""
|
|
21
|
-
This function checks that the provided fields on an object are populated with values other than None
|
|
22
|
-
|
|
23
|
-
:param object_to_check: The object to check the fields (a.k.a attributes) of
|
|
24
|
-
:param list[str] fields: The fields to check on the object
|
|
25
|
-
|
|
26
|
-
:return: None
|
|
27
|
-
"""
|
|
28
|
-
# Check for fields which have a value of None
|
|
29
|
-
missing_fields = [field for field in fields if getattr(object_to_check, field) is None]
|
|
30
|
-
|
|
31
|
-
# Raise an error if any fields have a value of None
|
|
32
|
-
if len(missing_fields) > 0:
|
|
33
|
-
raise ValueError(
|
|
34
|
-
f"The fields {str(missing_fields)} on the {object_to_check.__class__.__name__} are set to None, "
|
|
35
|
-
f"please ensure that you have provided them directly, via a secrets file or environment "
|
|
36
|
-
f"variables")
|
|
37
|
-
|
|
38
|
-
@classmethod
|
|
39
|
-
def resolve_api_token(cls, token=None, configuration=None, id_provider_response_handler=None):
|
|
40
|
-
|
|
41
|
-
"""
|
|
42
|
-
Description:
|
|
43
|
-
This method uses a PAT (Personal Access Token) or secrets to return an API token.
|
|
44
|
-
The method uses the following conditional logic in order of precedence to resolve an
|
|
45
|
-
authentication path:
|
|
46
|
-
|
|
47
|
-
1. Use PAT passed into the function
|
|
48
|
-
2. Use secrets files passed into the function
|
|
49
|
-
3. Use environment variables
|
|
50
|
-
|
|
51
|
-
PAT are used in preference to supplied credentials.
|
|
52
|
-
secrets files are used in preference to environment variables.
|
|
53
|
-
|
|
54
|
-
:param str token: The pre-populated access token to use instead of asking Okta for a token
|
|
55
|
-
:param ApiConfiguration configuration: configuration object containing secrets loaded from env vars
|
|
56
|
-
:param typing.callable id_provider_response_handler: An optional function to handle the Okta response
|
|
57
|
-
|
|
58
|
-
:return: str api_token
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
# If token is passed in by user, then use that token
|
|
62
|
-
if token is not None:
|
|
63
|
-
cls.__check_required_fields(configuration, ["api_url"])
|
|
64
|
-
api_token = token
|
|
65
|
-
|
|
66
|
-
# If there is a token provided use it
|
|
67
|
-
elif configuration.access_token is not None:
|
|
68
|
-
# Check that there is an api_url available
|
|
69
|
-
cls.__check_required_fields(configuration, ["api_url"])
|
|
70
|
-
api_token = configuration.access_token
|
|
71
|
-
|
|
72
|
-
# Otherwise generate an access token from Okta and use a RefreshingToken going forward
|
|
73
|
-
else:
|
|
74
|
-
# Check that all the required fields for generating a token exist
|
|
75
|
-
cls.__check_required_fields(configuration, [
|
|
76
|
-
"api_url",
|
|
77
|
-
"password",
|
|
78
|
-
"username",
|
|
79
|
-
"client_id",
|
|
80
|
-
"client_secret",
|
|
81
|
-
"token_url"])
|
|
82
|
-
|
|
83
|
-
# Generate an access token
|
|
84
|
-
api_token = RefreshingToken(
|
|
85
|
-
api_configuration=configuration,
|
|
86
|
-
id_provider_response_handler=id_provider_response_handler
|
|
87
|
-
)
|
|
88
|
-
|
|
89
|
-
return api_token
|
|
90
|
-
|
|
91
|
-
@classmethod
|
|
92
|
-
def build(cls, api_secrets_filename=None, id_provider_response_handler=None, api_configuration=None,
|
|
93
|
-
token=None, correlation_id=None, tcp_keep_alive=False):
|
|
94
|
-
"""
|
|
95
|
-
:param str api_secrets_filename: The full path to the JSON file containing the API credentials and optional proxy details
|
|
96
|
-
:param typing.callable id_provider_response_handler: An optional function to handle the Okta response
|
|
97
|
-
:param lusid.utilities.ApiConfiguration api_configuration: A pre-populated ApiConfiguration
|
|
98
|
-
:param str token: The pre-populated access token to use instead of asking Okta for a token
|
|
99
|
-
:param str correlation_id: Correlation id for all calls made from the returned ApiClient instance, added as a header to each request
|
|
100
|
-
:param bool tcp_keep_alive: A flag that controls if the API client uses tcp keep-alive probes
|
|
101
|
-
|
|
102
|
-
:return: lusid.ApiClient: The configured LUSID ApiClient
|
|
103
|
-
"""
|
|
104
|
-
|
|
105
|
-
# Load the configuration
|
|
106
|
-
configuration = ApiConfigurationLoader.load(api_secrets_filename)
|
|
107
|
-
|
|
108
|
-
# If an api_configuration has been provided override the loaded configuration
|
|
109
|
-
# with any properties that it has
|
|
110
|
-
if api_configuration is not None:
|
|
111
|
-
for key, value in vars(api_configuration).items():
|
|
112
|
-
if value is not None:
|
|
113
|
-
setattr(configuration, key, value)
|
|
114
|
-
|
|
115
|
-
api_token = cls.resolve_api_token(token, configuration, id_provider_response_handler)
|
|
116
|
-
|
|
117
|
-
# Initialise the API client using the token so that it can be included in all future requests
|
|
118
|
-
config = Configuration(tcp_keep_alive=tcp_keep_alive)
|
|
119
|
-
config.access_token = api_token
|
|
120
|
-
config.host = configuration.api_url
|
|
121
|
-
|
|
122
|
-
# Set the certificate from the configuration
|
|
123
|
-
config.ssl_ca_cert = configuration.certificate_filename
|
|
124
|
-
|
|
125
|
-
# Set the proxy for LUSID if needed
|
|
126
|
-
if configuration.proxy_config is not None:
|
|
127
|
-
config.proxy = configuration.proxy_config.address
|
|
128
|
-
if configuration.proxy_config.username is not None and configuration.proxy_config.password is not None:
|
|
129
|
-
config.proxy_headers = make_headers(
|
|
130
|
-
proxy_basic_auth=f"{configuration.proxy_config.username}:{configuration.proxy_config.password}"
|
|
131
|
-
)
|
|
132
|
-
|
|
133
|
-
# Create and return the ApiClient
|
|
134
|
-
api_client = ApiClient(configuration=config)
|
|
135
|
-
|
|
136
|
-
# set the application name if specified
|
|
137
|
-
if configuration.app_name is not None:
|
|
138
|
-
api_client.set_default_header("X-LUSID-Application", configuration.app_name)
|
|
139
|
-
|
|
140
|
-
# set a correlation id for all requests initiated with this ApiClient
|
|
141
|
-
corr_id = correlation_id or os.getenv("FBN_CORRELATION_ID")
|
|
142
|
-
if corr_id is not None:
|
|
143
|
-
api_client.set_default_header("CorrelationId", corr_id)
|
|
144
|
-
|
|
145
|
-
return api_client
|